在測試中,因需要分析頁面的響應時間慢的問題,看到此文挺詳細的,同時對一些小點細節,更進一步進行了説明,同時大家可看,原文:解讀Loadrunner網頁細分圖(Web Page Diagnostics)
LoadRunner結果分析圖表功能中最重要圖表分析之一,就是網頁細分圖。
一、啓用網頁細分圖
首先在Controller場景設計運行之前,需要在菜單欄中設置Diagnostics->Configuration->-->Web PageDiagnostics中置為Enabled,即該項前打對鈎。如果不選中,則場景跑完後,分析結果中網頁細分圖沒有數據。如圖:
場景運行完後,會分析結果,在HP LoadRunner Analysis 中點擊Graph -->Add NewGraph 打開一個新曲線圖,open a new Graph ;首先將該曲線圖中的右上角的Display only graphscontaining data不選中,然後點擊Web Page Diagnostics前的+號,選中Web PageDiagnostics,點擊曲線圖下方的按鈕Open Graph即可以將網頁細分圖調出。
二、網頁細分圖介紹
Web Page Diagnostics (以下簡稱WPD),這是LR Analysis中非常重要的一塊,搞清楚這部分的內容會讓你少走很多彎路,很多環境問題都可以通過它來定位,比如客户端,網絡。通過它可以你可以比較好的來定位是環境的問題還是應用本身的問題,當然更重要的是Web頁面本身的問題。
Web Page Diagnostics:頁面診斷圖,也叫頁面分解總圖
“頁面分解”顯示某一具體事務在測試過程的響應情況,進而分析相關的事務運行是否正常。
此視圖下面的文件結構大體上與scripts中actions/transaction/web_url(or submit_form_request)等一系列客户端請求 這三層體系結構類似。
Transactions是組成Web Page Diagnostics視圖最基本的單元。用户可以通過右鍵選中Transaction,然後進入Web Page Diagnostics for Transaction界面,對此事務下面的頁面進行分析。在這裏有二點需要説明:
1) 如果Transaction結構多於一個層次,比如Action/Load_home_page,則用户只允許進入到子級目錄Load_home_page,即使用户選中Action系統也會自動跳轉到下級目錄。
2) 對於事務下面的頁面請求,LR提供的操作是Break down, 也可以進行View page in Browser.
Web Page Diagnostics視圖可以按下面四種方式進行進一步細分:
- Download Time Breaddown(下載時間細分)
- Component Breakdown(Over Time)(組件細分(隨時間變化))
- Download Time Breakdown(Over Time)(下載時間細分(隨時間變化))
- Time to First Buffer Breakdown(Over Time)(第一次緩衝時間細分(隨時間變化))
下面分別説下網頁細分圖各圖表的功能:
網頁細分圖,總共有8個圖表,分別為:
- 頁面分解圖總(web page Diagnostics)、
- 頁面組件細分圖(page comporment breakdown)、
- 頁面組件細分圖(隨時間變化)(page comportment breakdown over time)、
- 頁面下載時間細分圖(page download time breakdown)、
- 頁面下載時間細分圖(隨時間變化)(page download time breakdown over time)、
- 第一次緩衝時間細分圖(time to first buffer breakdown)、
- 第一次緩衝時間細分圖(隨時間變化)(time to first buffer breaddown over time)、
- 已下載組件大小圖(Downloaded Component Size)[KB]。
Web Page Diagnostics總圖以transaction分析為主,兼顧頁面的初步分析。
1、 頁面組件細分圖(page comporment breakdown):顯示每個網頁及其組件的平均下載時間(以秒為單位),查看所選擇頁面中哪個元素所佔的平均下載時間最長。
2、 頁面組件細分圖(隨時間變化)(page comportment breakdown over time):此圖適合在客户端下載組件較多時的頁面分析,通過分析下載時間發現哪些組件不穩定或比較耗時,它是隨整個場景運行的時間來變化的。
3、 頁面下載時間細分圖(page download time breakdown):頁面下載時間細分圖根據DNS解析時間、連接時間、第一次緩衝時間、SSL握手時間、接收時間、FTP驗證時間、客户端時間和錯誤時間對每個組件進行分析的。它可以確認在網頁下載時期,響應時間緩慢是由網絡錯誤引起,還是由服務器錯誤引起。
4、頁面下載時間細分圖(隨時間變化)(page download time breakdown over time):顯示選定網頁下載時間細分,從中能看到頁面各個元素在壓力測試過程中的下載情況。如果某個頁面打開速度慢,通過對此圖分析,可以清楚地看到打開該頁面的時間主要在什麼地方,針對此問題進行優化。
1)DNS Resolution:瀏覽器訪問一個網站的時候,一般用的是域名,需要dns服務器把這個域名解析為IP,這個過程就是域名解析時間,如果我們在局域網內直接使用IP訪問的話,就沒有這個時間了。
使用最接近的DNS服務器,解決DNS名稱為一個IP地址所需要的時間。DNS查詢測量是DNS解析中問題,或DNS服務器問題的一個很好的指標。
2)Connection:服務器建立連接的時間。需要與Web服務器主機指定的URL建立一個初始連接。連接是測量網絡問題的一個很好的指標。它還表明服務器是否迴應請求。
3)SSL Handshaking:SSL加密握手的時間。
4)FTP Authentication:FTP服務器在處理客户端的命令之前,首先要對客户端進行鑑權,這個度量就是FTP服務器對客户端進行鑑權的時間。這種測量只適用於使用FTP(不是HTTP/s)協議的通信。
5)First Buffer:建立連接後,從Web Server發出第一個數據包,到客户端瀏覽器成功接收到第一字節的時間就是First Buffer。這個度量時間不僅可以表示Web Server的延遲時間,還可以表示出網絡
的反應時間。
6)Receive:從瀏覽器接收到第一個字節起,直到成功收到最後一個字節,下載完成止,這段時間就是receive時間。反映了網絡質量,如帶寬大小,帶寬越大下載時間越短
7)Client:客户端瀏覽器延遲的時間。由於瀏覽器思考時間或其他客户端相關的延遲,請求在客户機上的延時時,平均所需的時間。這不包括為Flash來繪畫圖形的時間。
8)Error:發送錯誤信息時間。從HTTP請求被髮送時刻,直到錯誤信息(只是HTTP錯誤)被返回的時刻,所經過的平均時間。
5、 第一次緩衝時間細分圖(time to first buffer breakdown):指成功收到從web服務器返回的第一次緩衝之前的這一段時間內,每個頁面組件的相關服務器和網絡時間(以秒為單位);
此圖對分析頁面的時間很重要,不僅能分析出哪個頁面耗費時間較長,而且能分析出之所以耗時是網絡問題還是服務器問題。若server time明顯大於net work time,並且是其幾倍,此時服務器性能是問題關鍵。
First Buffer Time時間分割為Network Time和Server Time。其中,網絡時間(network time)為從客户端發送第一個HTTP請求那一刻直到收到服務端的應答報文(ACK)確認為止所經過的平均時間。服務器時間(server time)是指客户端從收到初始HTTP請求確認直到成功收到來自web服務器的第一次緩衝為止所經過的平均時間。 (後面詳細介紹網絡時間和服務器時間)
6、 第一次緩衝時間細分圖(隨時間變化)(time to first buffer breaddown over time):不同頁面在任一時間點的Network TIme 和Server Timef分佈曲線圖;第一次緩衝時間是在客户端與服務器建立連接後,從服務器發送第一個數據包開始計時,數據經過網絡傳送到客户端後,再到瀏覽器收到第一個緩衝數據所用的時間。(圖中,用兩種顏色來區分服務器和網絡各自所用的時間,以確認是服務器問題還是網絡問題,此圖非常有用!)
7、已下載組件大小圖(Downloaded Component Size)[KB]:頁面中每個元素的大小(KB)
三、頁面細分圖分析
這裏只對頁面細分圖進一步分析的思路進行梳理,有些圖只是拿來參考,並不需要進一步分析的。
1、 首先打開頁面分解總圖(Web Page Diagnostics),在左邊Breakdown Tree下,列出了腳本中添加的所有事務名稱,通常來説,我們主要關注需要併發的系統業務部分,來看login部分,下載時間(Download Time)中,主要由兩個頁面導致,其中Receive部分佔用的時間最長。(Component部分不在這裏看,因為在這裏看不夠直觀)
2、接着打開頁面組件細分圖(Page Component Breakdown),找出所選擇頁面中哪個元素所佔的平均下載時間較多,其實就上面的兩個,只不過這裏是用餅圖來展示比較直觀。
3、 然後打開頁面下載時間細分圖(page Download Time Breakdown),根據DNS解析時間、連接時間、第一次緩衝時間、SSL握手時間、接收時間、FTP驗證時間、客户端時間和錯誤時間的組成在所選擇的頁面上的分佈情況,確定這個頁面下載時間較長的響應時間是由網絡錯誤引起,還是服務器錯誤引起的,如圖1,Receive Time時間最長,初始判斷是網絡問題引起的,但也有可能是瀏覽器請求的問題,再看頁面下載細分隨時間分佈圖2,在整個login場景中該頁面元素一直在下載?這極有可能是網絡問題了。另外一點,若頁面緩存做得好,是不會一直下載的吧。
很多時候,你可以根據DNS,Connection,Receive來看出是否存在網絡問題,根據Client來判斷是否存在客户端問題。
圖1
圖2
4、 最後打開一個非常重要的圖,即第一次緩衝時間細分圖(Time to First Buffer Breakdown),第一次緩衝時間細分圖進行對比結果是否一致,因為第一次緩衝時間細分圖也是可以確定該頁面的響應時間是由網絡錯誤引起,還是服務器錯誤引起。由此圖,可以看到,大部分的時間在Network Time。
注意;當網絡狀況不好的時候,server time很可能包括網絡時間,因為很多頁面元素比較小(小於4k的樣子),在First Buffer就完成傳輸,所以一定要注意分析。
作者:S-Gavin
出處:
---------------------------------------
您的支持是我前進的動力!!!
如果覺得這篇文章對你有小小的幫助的話,記得在右下角點球球“推薦”哦,博主在此感謝!
萬水千山總是情,打賞一分行不行。若要你的心情好,請便右側賞博主。哈哈哈(っ•̀ω•́)っ✎⁾⁾
場景運行完後,會分析結果,在HP LoadRunner Analysis 中點擊Graph -->Add NewGraph 打開一個新曲線圖,open a new Graph ;首先將該曲線圖中的右上角的Display only graphscontaining data不選中,然後點擊Web Page Diagnostics前的+號,選中Web PageDiagnostics,點擊曲線圖下方的按鈕Open Graph即可以將網頁細分圖調出。
二、網頁細分圖介紹
Web Page Diagnostics (以下簡稱WPD),這是LR Analysis中非常重要的一塊,搞清楚這部分的內容會讓你少走很多彎路,很多環境問題都可以通過它來定位,比如客户端,網絡。通過它可以你可以比較好的來定位是環境的問題還是應用本身的問題,當然更重要的是Web頁面本身的問題。
Web Page Diagnostics:頁面診斷圖,也叫頁面分解總圖
“頁面分解”顯示某一具體事務在測試過程的響應情況,進而分析相關的事務運行是否正常。
此視圖下面的文件結構大體上與scripts中actions/transaction/web_url(or submit_form_request)等一系列客户端請求 這三層體系結構類似。
Transactions是組成Web Page Diagnostics視圖最基本的單元。用户可以通過右鍵選中Transaction,然後進入Web Page Diagnostics for Transaction界面,對此事務下面的頁面進行分析。在這裏有二點需要説明:
1) 如果Transaction結構多於一個層次,比如Action/Load_home_page,則用户只允許進入到子級目錄Load_home_page,即使用户選中Action系統也會自動跳轉到下級目錄。
2) 對於事務下面的頁面請求,LR提供的操作是Break down, 也可以進行View page in Browser.
Web Page Diagnostics視圖可以按下面四種方式進行進一步細分:
- Download Time Breaddown(下載時間細分)
- Component Breakdown(Over Time)(組件細分(隨時間變化))
- Download Time Breakdown(Over Time)(下載時間細分(隨時間變化))
- Time to First Buffer Breakdown(Over Time)(第一次緩衝時間細分(隨時間變化))
下面分別説下網頁細分圖各圖表的功能:
網頁細分圖,總共有8個圖表,分別為:
- 頁面分解圖總(web page Diagnostics)、
- 頁面組件細分圖(page comporment breakdown)、
- 頁面組件細分圖(隨時間變化)(page comportment breakdown over time)、
- 頁面下載時間細分圖(page download time breakdown)、
- 頁面下載時間細分圖(隨時間變化)(page download time breakdown over time)、
- 第一次緩衝時間細分圖(time to first buffer breakdown)、
- 第一次緩衝時間細分圖(隨時間變化)(time to first buffer breaddown over time)、
- 已下載組件大小圖(Downloaded Component Size)[KB]。
Web Page Diagnostics總圖以transaction分析為主,兼顧頁面的初步分析。
1、 頁面組件細分圖(page comporment breakdown):顯示每個網頁及其組件的平均下載時間(以秒為單位),查看所選擇頁面中哪個元素所佔的平均下載時間最長。
2、 頁面組件細分圖(隨時間變化)(page comportment breakdown over time):此圖適合在客户端下載組件較多時的頁面分析,通過分析下載時間發現哪些組件不穩定或比較耗時,它是隨整個場景運行的時間來變化的。
3、 頁面下載時間細分圖(page download time breakdown):頁面下載時間細分圖根據DNS解析時間、連接時間、第一次緩衝時間、SSL握手時間、接收時間、FTP驗證時間、客户端時間和錯誤時間對每個組件進行分析的。它可以確認在網頁下載時期,響應時間緩慢是由網絡錯誤引起,還是由服務器錯誤引起。
4、頁面下載時間細分圖(隨時間變化)(page download time breakdown over time):顯示選定網頁下載時間細分,從中能看到頁面各個元素在壓力測試過程中的下載情況。如果某個頁面打開速度慢,通過對此圖分析,可以清楚地看到打開該頁面的時間主要在什麼地方,針對此問題進行優化。
1)DNS Resolution:瀏覽器訪問一個網站的時候,一般用的是域名,需要dns服務器把這個域名解析為IP,這個過程就是域名解析時間,如果我們在局域網內直接使用IP訪問的話,就沒有這個時間了。
使用最接近的DNS服務器,解決DNS名稱為一個IP地址所需要的時間。DNS查詢測量是DNS解析中問題,或DNS服務器問題的一個很好的指標。
2)Connection:服務器建立連接的時間。需要與Web服務器主機指定的URL建立一個初始連接。連接是測量網絡問題的一個很好的指標。它還表明服務器是否迴應請求。
3)SSL Handshaking:SSL加密握手的時間。
4)FTP Authentication:FTP服務器在處理客户端的命令之前,首先要對客户端進行鑑權,這個度量就是FTP服務器對客户端進行鑑權的時間。這種測量只適用於使用FTP(不是HTTP/s)協議的通信。
5)First Buffer:建立連接後,從Web Server發出第一個數據包,到客户端瀏覽器成功接收到第一字節的時間就是First Buffer。這個度量時間不僅可以表示Web Server的延遲時間,還可以表示出網絡
的反應時間。
6)Receive:從瀏覽器接收到第一個字節起,直到成功收到最後一個字節,下載完成止,這段時間就是receive時間。反映了網絡質量,如帶寬大小,帶寬越大下載時間越短
7)Client:客户端瀏覽器延遲的時間。由於瀏覽器思考時間或其他客户端相關的延遲,請求在客户機上的延時時,平均所需的時間。這不包括為Flash來繪畫圖形的時間。
8)Error:發送錯誤信息時間。從HTTP請求被髮送時刻,直到錯誤信息(只是HTTP錯誤)被返回的時刻,所經過的平均時間。
5、 第一次緩衝時間細分圖(time to first buffer breakdown):指成功收到從web服務器返回的第一次緩衝之前的這一段時間內,每個頁面組件的相關服務器和網絡時間(以秒為單位);
此圖對分析頁面的時間很重要,不僅能分析出哪個頁面耗費時間較長,而且能分析出之所以耗時是網絡問題還是服務器問題。若server time明顯大於net work time,並且是其幾倍,此時服務器性能是問題關鍵。
First Buffer Time時間分割為Network Time和Server Time。其中,網絡時間(network time)為從客户端發送第一個HTTP請求那一刻直到收到服務端的應答報文(ACK)確認為止所經過的平均時間。服務器時間(server time)是指客户端從收到初始HTTP請求確認直到成功收到來自web服務器的第一次緩衝為止所經過的平均時間。 (後面詳細介紹網絡時間和服務器時間)
6、 第一次緩衝時間細分圖(隨時間變化)(time to first buffer breaddown over time):不同頁面在任一時間點的Network TIme 和Server Timef分佈曲線圖;第一次緩衝時間是在客户端與服務器建立連接後,從服務器發送第一個數據包開始計時,數據經過網絡傳送到客户端後,再到瀏覽器收到第一個緩衝數據所用的時間。(圖中,用兩種顏色來區分服務器和網絡各自所用的時間,以確認是服務器問題還是網絡問題,此圖非常有用!)
7、已下載組件大小圖(Downloaded Component Size)[KB]:頁面中每個元素的大小(KB)
三、頁面細分圖分析
這裏只對頁面細分圖進一步分析的思路進行梳理,有些圖只是拿來參考,並不需要進一步分析的。
1、 首先打開頁面分解總圖(Web Page Diagnostics),在左邊Breakdown Tree下,列出了腳本中添加的所有事務名稱,通常來説,我們主要關注需要併發的系統業務部分,來看login部分,下載時間(Download Time)中,主要由兩個頁面導致,其中Receive部分佔用的時間最長。(Component部分不在這裏看,因為在這裏看不夠直觀)
2、接着打開頁面組件細分圖(Page Component Breakdown),找出所選擇頁面中哪個元素所佔的平均下載時間較多,其實就上面的兩個,只不過這裏是用餅圖來展示比較直觀。
3、 然後打開頁面下載時間細分圖(page Download Time Breakdown),根據DNS解析時間、連接時間、第一次緩衝時間、SSL握手時間、接收時間、FTP驗證時間、客户端時間和錯誤時間的組成在所選擇的頁面上的分佈情況,確定這個頁面下載時間較長的響應時間是由網絡錯誤引起,還是服務器錯誤引起的,如圖1,Receive Time時間最長,初始判斷是網絡問題引起的,但也有可能是瀏覽器請求的問題,再看頁面下載細分隨時間分佈圖2,在整個login場景中該頁面元素一直在下載?這極有可能是網絡問題了。另外一點,若頁面緩存做得好,是不會一直下載的吧。
很多時候,你可以根據DNS,Connection,Receive來看出是否存在網絡問題,根據Client來判斷是否存在客户端問題。
圖1
圖2
4、 最後打開一個非常重要的圖,即第一次緩衝時間細分圖(Time to First Buffer Breakdown),第一次緩衝時間細分圖進行對比結果是否一致,因為第一次緩衝時間細分圖也是可以確定該頁面的響應時間是由網絡錯誤引起,還是服務器錯誤引起。由此圖,可以看到,大部分的時間在Network Time。
注意;當網絡狀況不好的時候,server time很可能包括網絡時間,因為很多頁面元素比較小(小於4k的樣子),在First Buffer就完成傳輸,所以一定要注意分析。