1. 程式人生 > >Loadrunner Analysis之Web Page Diagnostics

Loadrunner Analysis之Web Page Diagnostics

當在場景中開啟Diagnostics選單下的Web Page Diagnostics功能,就能得到網頁分析組圖。通過這個圖,可以對事務的組成進行抽絲剝繭的分析,得到組成這個頁面的每一個請求時間分析,進一步瞭解響應時間中有關網路和伺服器處理時間的分配關係。通過這個功能,可以實現對網站的前端效能分析,明確系統響應時間較長時由伺服器端(後端)處理能力不足還是短連線到伺服器的網路(前端)消耗導致的。

1、Web Page Diagnostics(網頁分析)

說明——新增該圖先會得到整個場景執行後虛擬使用者訪問的Page列表,也就是所有頁面下載時間列表。描述(在註冊使用者事務進行分析,整個負載由三個頁面請求組成,其中有一個請求始終在多少秒以內,而另外幾個請求時間較長並且有上升趨勢,然後通過Select Page to Break Down命令選擇具體的Page來獲得每個請求的相關詳細資訊——分析如下:

1.Download Time下載時間分析——組成頁面的每個請求下載時間——可以看到建立使用者的操作由4個請求組成,其中導致註冊使用者較慢的主要原因是註冊完成後需要等待兩秒鐘再重新整理至論壇首頁,而非註冊使用者本身需要消耗的時間,首頁重新整理慢也只是因為Client(客戶端)需要消耗較多時間,同時Receive(接收)的時間也有一定的影響。

2.Component(Over time)各模組的時間變化——通過這個功能可以分析響應時間變長是因為頁面生成慢,還是因為圖片資源下載慢。隨著時間的增加,首頁的處理時間(最上面的一根線)從多少秒上升到了最大值多少秒,而註冊英護響應時間幾乎沒有上升。

3.Download Time(Over time)模組下載時間——針對每個組成頁面元素的時間組成部分分析,方便確認該元素的處理時間組成部分。發現首頁請求的下載時間主要消耗在Client上,而多少分多少秒之前Recevie所消耗的時間在逐漸變長。

4.Time to Buffer(Over time)模組時間分類——列出該元素所使用的時間分配比例,是受Network Time影響的多還是Server Time影響的多。對於首頁重新整理的響應時間來說,主要是Network Time網路上消耗的時間,而Server Time伺服器端的處理時非常優秀的。Server Time是伺服器對該頁面的處理時間;Network Time是指網路上的時間開銷。)

2、Page Download Time Breakdown(頁面響應時間組成分析)

說明——顯示每個頁面響應時間的組成分析,一個頁面的響應時間一般由以下內容組成:

Client Time客戶端瀏覽接收所需要使用的時間,可以不用考慮。

Connections Time連線伺服器所需要的時間,越小越好。

DNS Resolution Time通過DNS伺服器解析域名所需要的時間,解析受到DNS伺服器的影響,越小越好。

Error Time伺服器返回錯誤響應時間,這個時間反映了伺服器處理錯誤的速度,一般是Web伺服器直接返回的,包含了網路時間和Web伺服器返回錯誤的時間,該時間越小越好。

First Buffer Time連線到伺服器,伺服器返回第一個位元組所需要的時間,反映了系統對於正常請求的處理時間開銷,包含網路時間和伺服器正常處理的時間,該時間越小越好。

FTP Authentication Time FTP認證時間,這是進行FTP登入等操作所需要消耗的認證時間,越短越好。

Receive Time接受資料的時間,這個時間反映了頻寬的大小,頻寬越大,下載時間越短。

SSL Handshaking Time SSL加密握手的時間,而Analysis在這裡會分析得到頁面請求的組成比例圖,便於分析頁面時間浪費在哪些過程中。

3、Page Download Time Breakdown(Over time)(頁面組成部分時間)

說明——隨著時間的變化所有請求的響應時間變化過程。這裡會將整個負載過程中每個頁面的每個時間組成部分都做成單獨的時間線,以便分析再不同的時間點上組成該頁面的各個請求時間是如何變化的。描述(看到大多數頁面的響應時間是比較穩定的,其中首頁重新整理變動較大——首先找到變化最明顯或者響應時間最高的頁面,隨後在針對這個頁面進行進一步的分析瞭解時間偏長或者變化較快的原因。)

4、Time to First Buffer Breakdown(頁面請求組成時間)

說明——組成頁面時間請求的比例說明(客戶端時間/伺服器時間),通過這個圖,我們可以直接地瞭解到整個頁面的處理是在伺服器端消耗的時間長,還是在客戶端消耗的時間長,從而分析得到系統的效能問題是在前段還是在後端。描述(網路或客戶端的時間開銷佔了絕大多數)

5、Time to First Buffer Breakdown(Over time)(基於時間的頁面請求組成分析)

說明——在整個負載過程中,每一個請求的Server Time和Client Time隨著時間變化的趨勢,可以方便定位響應時間隨著時間變化的原因到底是由於客戶端變化導致的還是由於伺服器端變化導致的。描述(對於使用者註冊操作,網路上的時間變化比伺服器上的時間變化要劇烈)

介紹了這麼多,具體如何分析呢?

首先開啟Web Page Diagnostics圖,來看看下面一個例子Download Time圖:

Web-Page-Diagnostics-DownloadTime

上圖存在兩個問題:

1、receive時間很長

這個一般是網路問題,當然如果你確認網路不存在問題,那麼你就要看看是不是客戶端的問題(客戶端也可能會造成Receive過長,這個要注意)

2、頁面問題

頁面上包括了非常多的圖片,而且圖片似乎都沒有優化,最大的竟然有163K,該圖片檔案可能有點過大了,很多時候,你可以根據DNS,Connection,Receive來看出是否存在網路問題,根據Client來判斷是否存在客戶端問題。

換個圖看看,Page Component Breakdown(Over Time)

Web-Page-Diagnostics-PCB

可以看出,頁面元素都被cache了,說明場景啟用了browser cache,頁面的響應時間只包括紅線和藍線。

Time to First Buffer Breakdown(Over Time)  ,這個圖非常重要,也最複雜,當網路狀況不好的時候,server time很可能包括網路時間,因為很多頁面元素比較小(小於4k的樣子),在First Buffer就完成傳輸,所以一定要注意分析。