8.1 分析圖合并
Analysis 保存的圖都是單個的圖挖腰,在實際的分析中往往需要將有關(guān)系的一些圖合并起來查看冶匹,從多個角度去度量結(jié)果撒蟀,且觀察兩個視圖之間的關(guān)系。
8.1.1 分析圖合并原理
選擇 View -> Merge Graphs 命令许溅,彈出 Merge Graphs (合并圖)對話框瓤鼻。設置三個屬性:
(1)選擇要合并的圖。注意:只能選擇 X 軸度量單位相同的圖贤重。
(2)設置合并圖標題茬祷。
(3)選擇合并類型。
? ? ? ?1)疊加:查看共用同一個 X 軸的兩個圖的內(nèi)容并蝗。合并圖左側(cè)的 Y 軸顯示當前圖的 Y 軸祭犯,右邊的 Y 軸顯示合并進來的圖的 Y 軸值。
? ? ? ?2)平鋪:在平鋪布局查看借卧,共用同一個 X 軸盹憎,合并進來的圖顯示在當前的圖上方;
? ? ? ?3)關(guān)聯(lián):合并后當前活動圖的 Y 軸變?yōu)楹喜D的 X 軸铐刘,被合并圖的 Y 軸作為合并圖的 Y 軸陪每;
8.1.2 分析步驟:
(1)找到影響幾個圖變化趨勢的決定因子;
(2)了解合并圖中其他的圖與該決定因子的關(guān)系镰吵;
(3)分析決定因子圖的變化趨勢檩禾;
(4)通過各圖之間的關(guān)系來判斷其他的這些圖變化的趨勢是否正確。
8.2 分析圖關(guān)聯(lián)
8.2.1 分析圖關(guān)聯(lián)原理
在當前的分析圖中右擊疤祭,在彈出的快捷菜單中選擇 Auto Correlate 命令盼产,將打開 Auto Correlate 對話框。
Time Range(時間范圍)選項卡用來設置分析關(guān)聯(lián)圖度量的時間范圍勺馆。
在 Suggest Time Range by 下拉列表框中可以看到有兩種時間范圍方式:
Trend(趨勢):選擇關(guān)聯(lián)度量值變化趨勢相對穩(wěn)定的一段為時間范圍戏售。
Feature(功能):在關(guān)聯(lián)度量值變化相對穩(wěn)定的時間內(nèi),選擇一段大體與整個趨勢相似的時間范圍草穆。
Best(最佳):選擇關(guān)聯(lián)度量值發(fā)生明顯變化趨勢的一段時間范圍灌灾。
Correlation Options 選項卡:
在 Select Graphs for Correlation 中選擇需要關(guān)聯(lián)的圖。
在 Data Interval 組合框中選擇計算關(guān)聯(lián)度量輪詢之間的時間間隔悲柱,可以設置為自動锋喜,也可以自定義。
在 Output 組合框中選擇顯示輸出的級別。
分析圖關(guān)聯(lián)是通過復雜的統(tǒng)計學方法嘿般,精確定位哪些因素對交易響應時間的影響最大段标,關(guān)聯(lián)并不關(guān)注具體的數(shù)據(jù),而是關(guān)注于參數(shù)樣本在特定時間范圍內(nèi)的狀態(tài)炉奴、趨勢逼庞。只有折線圖可以使用 Auto Correlation。
具體因為還沒有應用過盆佣,所以有待后續(xù)補充往堡。
8.3 頁面細分
8.3.1 頁面細分原理
在平均事務圖中右擊,在彈出的菜單中選擇 Show Transaction Breakdown Tree 命令共耍,生成 Web Page Diagnostics 圖虑灰。通過分解頁面可以發(fā)現(xiàn),頁面中哪些組件響應時間較長痹兜?平均事務響應時間過長是由服務器還是由網(wǎng)絡環(huán)境引起的穆咐?
頁面細分技術(shù)主要用來分析失敗事務是由哪些組件引起的。
(1)打開“平均事務響應時間”圖字旭,打開 Graph Settings 對話框对湃,對過濾條件進行設置,將 Transaction End Status 設置為 Fail遗淳,Transaction Name 設置為要分析的事務即可拍柒;
(2)顯示事務細分樹。在“平均事務響應時間”圖中右擊屈暗,在彈出的快捷菜單中選擇 Show Transaction Breakdown Tree 命令拆讯,此時左下角彈出一個 Breakdown Tree 圖,顯示了所有失敗事務圖养叛;
(3)顯示頁面細分圖种呐。選擇需要分析的事務,右擊并選擇“Web Page Diagnostics for” 命令弃甥,Analysis 分析器生成 Web Page Diagnostics 圖爽室;
(4)查看 Download Time 圖,選擇查看各組件所花費的時間淆攻;
(5)手動查看花費時間最長的組件阔墩,右擊,選擇 Copy the full path to the clipboard 命令瓶珊,將路徑復制到 IE 瀏覽器中進行預覽啸箫。或者選擇 View page browser 命令直接打開該頁面進行預覽艰毒。如果手動預覽該頁面和測試結(jié)果一致筐高,則說明是由于該頁面響應時間引起搜囱。如果手動預覽響應很快丑瞧,那么要進一步判斷是由測試環(huán)境引起還是由網(wǎng)絡引起柑土。
(6)查看 Download Time (Over Time)圖。圖中詳細地記錄了請求在各階段所花費的時間绊汹,可以看出 DNS 服務器花在解析域名的時間有多少稽屏,看看是不是 DNS 服務器有問題。
(7)查看 Time to First Buffer(Over Time)圖西乖。通過它觀察問題到底是由服務器引起還是由網(wǎng)絡引起狐榔。
具體因為還沒有應用過,所以有待后續(xù)補充获雕。
8.4 鉆取技術(shù)
8.4.1 鉆取技術(shù)原理
在當前活動圖中右擊薄腻,選擇 Drill Down 命令,可以對當前圖進行鉆取届案。
通過鉆取技術(shù)可以獲取事務圖更深層次的資料庵楷。能夠鉆取的組資料由 Drill Down Options 對話框中的 Group by 決定,但一般都包含 Host Name楣颠、Vuser ID 等信息尽纽,這是由當前活動的圖所決定。
鉆取技術(shù)通常有以下幾個特點:
(1)在一個活動圖中童漩,選擇一個需要的組進行顯示弄贿,這時鉆取技術(shù)可以幫助進行特定的測量;
(2)組信息由當前活動圖所決定矫膨,對于不同的圖差凹,組信息有所不同;
(3)可以鉆取每個 Vuser 的平均事務響應時間豆拨,并可以按 Vuser ID 進行排序直奋;
(4)鉆取后的信息會按組中不同的元素與不同的曲線顯示出來,如不同的 Vuser ID 顯示不同的曲線圖施禾;
整個鉆取過程結(jié)束后應該借助其他的手段來幫助進行更深層次的分析脚线,才能找到系統(tǒng)真正的瓶頸。
8.5 導入外部數(shù)據(jù)
LoadRunner 自帶了一個導入數(shù)據(jù)的工具弥搞,但是目前還應用不到邮绿,后續(xù)會深入了解。
8.6 使用 HTTPWatch 分析響應時間
HTTPWatch 是比較強大的網(wǎng)頁數(shù)據(jù)分析工具攀例,可以集成在 Internet Explorer 工具欄船逮,主要功能有網(wǎng)頁摘要、Cookie 管理粤铭、緩存管理挖胃、消息頭發(fā)送/接收、字符查詢、POST 數(shù)據(jù)酱鸭、目錄管理功能和報告輸出吗垮。
只需要選擇相應的網(wǎng)站,軟件就可以對網(wǎng)站與 IE 之間的請求回復的通信情況進行分析凹髓,并在同一界面顯示相應的日志記錄烁登。每一個 HTTP 記錄都可以詳細地分析其 Cookies、消息頭蔚舀、字符查詢等信息饵沧。支持 HTTPS 及分析報告輸出為 XML、CSV 等格式赌躺。
8.6.1 HTTP 消息格式
瀏覽器發(fā)出的請求信息和服務器返回的響應信息統(tǒng)稱為 HTTP 消息狼牺。一個完整的請求消息包括這幾部分內(nèi)容:一個請求行、若干消息頭及實體內(nèi)容礼患,其中一些消息頭和實體內(nèi)容是可選的锁右,消息頭和實體內(nèi)容之間使用空行隔開。響應消息同上讶泰。
HTTP 請求和響應消息頭都是用于描述 HTTP 消息本身的信息咏瑟,通暢也稱為元信息,消息頭相當于服務器和瀏覽器之間的暗號指令痪署,主要實現(xiàn) HTTP 客戶機與服務器之間的條件請求和應答码泞。
通常情況分為4類消息頭:
通用信息頭:既能用于請求信息,也可以用于響應消息狼犯,但與被傳輸?shù)膶嶓w內(nèi)容沒有關(guān)系
請求頭:用于在請求消息中向服務器傳遞附加信息余寥,主要包括客戶機可以接受的數(shù)據(jù)類型、壓縮方法悯森、語言宋舷,以及客戶計算機上保留的 Cookie 信息和發(fā)出該請求的超鏈接源地址等
響應頭:用于在響應消息中向客戶端傳遞附加信息,包括服務程序的名稱瓢姻、要求客戶端進行認證的方式祝蝠、請求的資源已移動到的新地址等。
實體頭:用做實體內(nèi)容的元信息幻碱,描述了實體內(nèi)容的屬性绎狭,包括實體信息的類型、長度褥傍、壓縮方法儡嘶、最后一次修改的時間和數(shù)據(jù)的有效期等。
請求行中包括3部分內(nèi)容:請求方式恍风、資源路徑以及所用的 HTTP 協(xié)議版本蹦狂,各部分之間使用空格分隔誓篱,語法格式如下:
請求方式 資源路徑 HTTP版本號<CRLF>
<CRLF>表示回車和換行兩個字符的組合。
響應消息的狀態(tài)行中包括:HTTP 協(xié)議版本號凯楔、一個表示成功或失敗的整數(shù)代碼(狀態(tài)碼)和對狀態(tài)碼進行描述的文本信息燕鸽,各部分之間用空格分隔,語法格式如下:
HTTP版本號 狀態(tài)碼 援引敘述<CRLF>
8.6.2 Request Grid
啟動 HTTPWatch 后啼辣,單擊菜單區(qū)的 Record 按鈕開始錄制,單擊 Stop 即停止錄制御滩。
Started:相對開始時間鸥拧,是指接下來訪問的 URL 相對于第一個 URL 被打開的時間
Time Chart:耗時比例圖,擊整個請求應答過程中各部分所花時間的比例圖
Time:請求所消耗的時間
Sent:提交該請求所發(fā)送的字節(jié)數(shù)
Received:提交請求后服務器返回的字節(jié)數(shù)
Method:提交請求的方法
Result:請求處理的結(jié)果
Type:服務器返回內(nèi)容的類型
URL:請求的 URL 地址
Received:返回的字節(jié)數(shù)削解,需要關(guān)注返回字節(jié)數(shù)較大的需求富弦,因為字節(jié)數(shù)較大會影響整個請求的耗時,也是調(diào)優(yōu)需要關(guān)注的內(nèi)容
Result:請求響應的狀態(tài)氛驮,需要關(guān)注非200的值
8.6.3 Request View
Request View 內(nèi)容詳細記錄了每個請求的信息腕柜,主要包括:
Display URL:表示請求的 URL
Started At:表示該請求開始的時間
Submit Form:表示表單(Form)被提交到的 URL,只有 POST 操作時才會有該項
DNS Lookup:表示 DNS 查找操作
Connect:表示 TCP 連接操作
HTTP Request:表示一個請求被發(fā)出去
HTTP Response:表示一個應答被收回
Read Cache:表示該次請求是從 cache 中讀取應答消息
Time Chart:顯示了一次請求應答過程中每個時間片段所花費的時間
Header Sent 的內(nèi)容:
Request-Line:包括HTTP 提交請求方法矫废、HTTP 版本和 URL 子路徑
Accept:可接受的文件類型
Accept-Encoding:可接受的純文本之外的內(nèi)容編碼的類型
Accept-Language:可接受的返回數(shù)據(jù)的語言種類
Connection:指定該次請求回應結(jié)束后盏缤,如何處理連接
Cache-Control:指定請求和響應遵循的緩存機制
Location:用于重定向接受者到一個新 URL 地址
Host:請求連接的主機名
Header Received的內(nèi)容:
Status-Line:包括 HTTP 請求的狀態(tài)碼和 HTTP 版本信息
Connection:指定該次請求回應結(jié)束后,如何處理連接
Cache-Control:指定請求和響應遵循的緩存機制
Content-Language:內(nèi)容數(shù)據(jù)的語言種類
Content-Length:傳輸?shù)膬?nèi)容長度
Content-Type:內(nèi)容數(shù)據(jù)的類型(Mini Type)
Last-Modified:服務器上保存內(nèi)容的最后修訂時間
Expires:內(nèi)容數(shù)據(jù)被緩存的過期時間
Cookies 的內(nèi)容:
Cookie Name:Cookie 的名稱
Direction:表明該 Cookie 是由客戶端發(fā)送到服務器的還是從服務器接收的
Value:Cookie 的內(nèi)容
Path:該 Cookie 所在站點的路徑
Domain:顯示該 Cookie 所屬的域名或主機名
Expires:指該 Cookie 失效時間蓖扑,當瀏覽器關(guān)閉時該 Cookie 值將被刪除
Cache 的內(nèi)容:
URL in cache:該項內(nèi)容是否寫入瀏覽器緩存
Expires:Cache 失效日期和時間
Last Modification:當 Cache 內(nèi)容被存儲或更新時唉铜,那么更改日期將會修改為最近的日期
Last Cache Update:Cache 內(nèi)容被更新的最近時間
Last Access:最近一次讀 Cache 的時間
ETag:用于匹配服務器上的實體,使用的方式為模糊匹配
Hit Count:讀 Cache 內(nèi)容的次數(shù)
Query String:是通過 URL 來傳遞參數(shù)的一種方式律杠,通常格式如下:
...?name1=value1&name2=value2&...
POST Data:顯示以 POST 方式請求的數(shù)據(jù)信息
以POST方式提交數(shù)據(jù)的編碼方式有以下幾種:
(1)Text/plain 純文本
(2)Application/x-www-form-urlencoded潭流,默認方式,格式與 Query String 一致柜去,但是 POST 數(shù)據(jù)是通過請求內(nèi)容提交的灰嫉,而不是用 URL 來提交
(3)Multipart/form-data:使用 MIME 編碼方式(Multipurpose Internet eMail Extension)
Content 的內(nèi)容:
顯示接收到的 HTTP 響應信息,包括 MIME 的類型嗓奢,總的字節(jié)數(shù)和這些內(nèi)容是否從服務中下載或從緩存中讀取讼撒,如果對 HTTP 進行了壓縮,還應該顯示壓縮的方式股耽、壓縮后的文件大小及壓縮比
Stream的內(nèi)容:
顯示客戶端發(fā)送的內(nèi)容和服務器端返回的內(nèi)容椿肩。