當Web訪問效能出現問題,如何深探?

2022-07-15 02:39:08 字數 1679 閱讀 9927

對運維或開發工程師來說,遇到訪問效能問題時,最先需要定位的是問題出現在哪個環節,是網路的問題,服務端的問題,還是客戶端的問題?

往往技術人員喜歡把精力放在保障後端服務的可用性方面,而對前端介面是否能正常裝載,是否能完整渲染不是太關心。但從業務的角度來說,介面承載的才是最終的業務,業務是通過人機互動來實現的。

日常我們遇到哪些場景需要定位訪問效能瓶頸?

·不同地域訪問同一應用速度的差異性較大時

·不同時段訪問同一應用速度的差異性較大時

·低版本瀏覽器導致介面載入速度慢或失敗時

·不同的作業系統(特別是手機)導致介面載入速度慢或失敗時

·外鏈資源或第三方服務拖慢介面載入速度時

還有更多場景需要定位。我們是否有簡單的辦法來定位是網路的問題、服務端的問題還是客戶端的問題?答案是肯定的。現代的瀏覽器提供給我們一些便利的條件可以獲取從請求開始到頁面渲染完成各個環節的時間,注意這裡說的必須是現代瀏覽器,他們有個共同的特點,即遵循w3c的timingapi。

之前與大家交流過《監控真實的使用者體驗,從一行**開始》。通過一行**來實現資料採集,web實現訪問效能定位就相對簡單,請看下圖。

讓我們來看下如何解讀這些資料。

從使用者操作角度來衡量使用者體驗

首先是操作名稱,比如「開啟首頁」,這是乙個重定向的操作,對應的url是http://

這裡"開啟首頁"的操作是如何來呢?在這裡先賣個關子下回再聊,這就是優雲web與其他任何產品不一樣的地方,其他產品往往是給你乙個url位址,內容是什麼,上下文操作是什麼需要你自己去猜,非技術猿類無法理解。

·聚焦關鍵度量指標

oapdex

o平均響應時間

o平均使用者可操作時間

o吞吐率

其中平均響應時間可以分解為

o客戶端時間

o網路時間

o服務端時間

在這個例子中,我們發現客戶端時間佔了15秒之多,而網路和服務端佔的時間非常少,兩者僅1秒不到。說明頁面在前端耗費了大量時間來載入和渲染。出現這種情況的時候,使用者往往以為服務端很慢,其實不然,據我們了解,70%的訪問效能問題出在前端上,這個與我們的認知大相徑庭。因此這個鍋該誰來背?大概率來說,70%的鍋應該是開發人員來背,運維趕緊拿資料砸過去吧。

·對關鍵指標進行深度分析

o響應時間精細化分析:平均值、中位數、最慢的5%

o響應時間按滿意度分布:哪些操作滿意、哪些可以容忍、哪些不滿意

·抽樣調查

我們會對不滿意的使用者進行抽樣,通過抽樣我們可以看出哪些地域、哪些瀏覽器的使用者會比較容易出現訪問效能問題,具體還可以細化到頁面的資源載入時間。這些資料有什麼用呢?可以知道哪些頁面資源可以進一步壓縮優化,減少http請求數,可以讓我們來檢驗cdn是否真正有效,或沒有啟用cdn的應用可以考慮cdn加速等等。

以上是個人關於訪問效能體驗的一些心得,還是建議你親自來感受它的不一樣。

當共享和訪問出現問題時

1.檢查guest賬戶是否開啟 xp預設情況下不開啟guest賬戶,因此些為了其他人能瀏覽你的計算機,請啟用guest賬戶。同時,為了安全請為guest設定密碼或相應的許可權。當然,也可以為每一台機器設定乙個使用者名稱和密碼以便計算機之間的互相訪問。2.檢查是否拒絕guest使用者從網路訪問本機 當...

superset訪問charts出現問題

某天用superset整合druid想看看介面的charts的時候,出現了這個 getting 500 internal server error every time i click on charts menu,在網上搜了下解決方式,還是在git上找到了解決的方式。0.這個是superset的乙...

專案上線出現問題如何解決

一.第一步 評估bug的影響範圍 1 分析bug影響的使用者數量 檢查bug是否業務核心環節的功能問題,是的話則影響的使用者量比較多 2 分析bug影響的嚴重程度 檢查bug是否涉及到使用者的個人資訊洩露 資金財產損失等比較敏感的功能,涉及的話則認為bug比較嚴重 對於bug影響範圍的評估,必須盡可...