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

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

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

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

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

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

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

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

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

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

之前與大家交流過《監控真實的用戶體驗,從一行代碼開始》可在“優云敏捷運維”公眾號參看此文。通過一行代碼來實現數據采集,優云Web實現訪問性能定位就相對簡單,請看下圖。

1.jpg

讓我們來看下如何解讀這些數據。

從用戶操作角度來衡量用戶體驗

首先是操作名稱,比如“打開首頁”,這是一個重定向的操作,對應的URL是http://

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

·聚焦關鍵度量指標

oApdex

o平均響應時間

o平均用戶可操作時間

o吞吐率

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

o客戶端時間

o網絡時間

o服務端時間

2.jpg

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

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

o響應時間與操作數趨勢的關聯關系:分析兩者是否有正相關關系

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

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

3.jpg

·抽樣調查

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

4.jpg

5.jpg

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

優云全線產品免費試用:https://www.uyun.cn

原創文章,作者:uyunops,如若轉載,請注明出處:http://www.www58058.com/65955

(0)
uyunopsuyunops
上一篇 2017-01-08 22:05
下一篇 2017-01-09 10:03

相關推薦

  • MySQL/MariaDB數據庫基于SSL實現主從復制

    前言 備份數據庫是生產環境中的首要任務,重中之重,有時候不得不通過網絡進行數據庫的復制,由于MySQL/MariaDB的主從復制是明文傳送的,如果在生產環境中跨網絡傳送,數據的安全性就無法完全保證,為了解決這一問題,我們需要一種安全的方式進行傳送,即基于SSL加密進行數據傳輸。 部署配置 實驗拓撲 實驗環境 系統環境:CentOS6.6 數據庫版本:mari…

    Linux干貨 2015-06-21
  • DNS服務器—-主從服務器搭建

    一、環境準備   1、準備三臺測試       主DNS服務器地址:192.168.10.203       從DNS服務器地址:192.168.10.103       測試主機地址:  192.168.10.120 …

    Linux干貨 2015-05-18
  • Java輸入輸出流

    1.什么是IO       Java中I/O操作主要是指使用Java進行輸入,輸出操作. Java所有的I/O機制都是基于數據流進行輸入輸出,這些數據流表示了字符或者字節數據的流動序列。Java的I/O流提供了讀寫數據的標準方法。任何Java中表示數據源的對象都會提供以數據流的方式讀寫它的數據的方法。 &nb…

    Linux干貨 2015-04-10
  • 優云Automation:實現IT服務彈性伸縮的利器

    隨著互聯網業務快速持續增長,IT資源使用量按需變化成為常態,這就要求信息部門能快速響應資源使用的變化要求,對運維提出不小挑戰。比如電商、在線教育等企業經常推出一些秒殺、搶紅包活動,在特定時間段對資源的利用處于高峰期,之后基本處于空閑。 幾年前,我們從申請采購到應用部署上線都只能人工操作,需要提前幾個月開始規劃。如今通過云平臺能很好實現資源按需動態管理,運維人…

    系統運維 2017-03-15
  • Apache配置壓縮優化時報錯——undefined symbol: inflateEnd

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1345264    圣誕都過了,好久沒來51發博文了。最近一直在忙考試和其他一些私人事務,感覺長期不發博文,有點不好。不是不發,實在是最近…

    Linux干貨 2016-08-15
  • day7作業練習

    1、顯示當前系統root、mage或wang用戶的UID和默認shell  2、找出/etc/rc.d/init.d/functions文件中行首為某單詞(包 括下劃線)后面跟一個小括號的行  3、使用egrep取出/etc/rc.d/init.d/functions中其基名     v …

    系統運維 2016-08-08
欧美性久久久久