版權聲明:本文能夠被轉載,可是在未經本人許可前,不得用於任何商業用途或其餘以盈利爲目的的用途。本人保留對本文的一切權利。如需轉載,請在轉載是保留此版權聲明,並保證本文的完整性。也請轉貼者理解創做的辛勞,尊重做者的勞動成果。apache
做者:陳雷 (Jackei)函數
郵箱:jackeichan@gmail.com工具
Blog:http://jackei.cnblogs.com性能
LoadRunner中的90%響應時間是什麼意思?這個值在進行性能分析時有什麼做用?本文爭取用最簡潔的文字來解答這個問題,並引伸出「描述性統計」方法在性能測試結果分析中的應用。測試
爲何要有90%用戶響應時間?由於在評估一次測試的結果時,僅僅有平均事務響應時間是不夠的。爲何這麼說?你能夠試着想一想,是否平均事務響應時間知足了性能需求就表示系統的性能已經知足了絕大多數用戶的要求?blog
假若有兩組測試結果,響應時間分別是 {1,3,5,10,16} 和 {5,6,7,8,9},它們的平均值都是7,你認爲哪次測試的結果更理想?排序
假若有一次測試,總共有100個請求被響應,其中最小響應時間爲0.02秒,最大響應時間爲110秒,平均事務響應時間爲4.7秒,你會不會想到最小和最大響應時間如此大的誤差是否會致使平均值自己並不可信?事務
爲了解答上面的疑問,咱們先來看一張表:get
在上面這個表中包含了幾個不一樣的列,其含義以下:數學
CmdID 測試時被請求的頁面
NUM 響應成功的請求數量
MEAN 全部成功的請求的響應時間的平均值
STD DEV 標準差(這個值的做用將在下一篇文章中重點介紹)
MIN 響應時間的最小值
50 th(60/70/80/90/95 th) 若是把響應時間從小到大順序排序,那麼50%的請求的響應時間在這個範圍以內。後面的60/70/80/90/95 th 也是一樣的含義
MAX 響應時間的最大值
我想看完了上面的這個表和各列的解釋,不用多說你們也能夠明白個人意思了。我把結論性的東西整理一下:
1. 90%用戶響應時間在 LoadRunner中是能夠設置的,你能夠改成80%或95%;
2. 對於這個表,LoadRunner中是沒有直接提供的,你能夠把LR中的原始數據導出到Excel中,並使用Excel中的PERCENTILE 函數很簡單的算出不一樣百分比用戶請求的響應時間分佈狀況;
3. 從上面的表中來看,對於Home Page來講,平均事務響應時間(MEAN)只同70%用戶響應時間相一致。也就是說假如咱們肯定Home Page的響應時間應該在5秒內,那麼從平均事務響應時間來看是知足的,可是實際上有10-20%的用戶請求的響應時間是大於這個值的;對於Page 1也是同樣,假如咱們肯定對於Page 1 的請求應該在3秒內獲得響應,雖然平均事務響應時間是知足要求的,可是實際上有20-30%的用戶請求的響應時間是超過了咱們的要求的;
4. 你能夠在95 th以後繼續添加96/ 97/ 98/ 99/ 99.9/ 99.99 th,並利用Excel的圖表功能畫一條曲線,來更加清晰表現出系統響應時間的分佈狀況。這時候你也許會發現,那個最大值的出現概率只不過是千分之一甚至萬分之一,並且99%的用戶請求的響應時間都是在性能需求所定義的範圍以內的;
5. 若是你想使用這種方法來評估系統的性能,一個推薦的作法是儘量讓你的測試場景運行的時間長一些,由於當你得到的測試數據越多,這個響應時間的分佈曲線就越接近真實狀況;
6. 在肯定性能需求時,你能夠用平均事務響應時間來衡量系統的性能,也能夠用90%或95%用戶響應時間來做爲度量標準,它們並不衝突。實際上,在定義某些系統的性能需求時,必定範圍內的請求失敗也是能夠被接受的;
7. 上面提到的這些內容實際上是與工具無關的,只要你能夠獲得原始的響應時間記錄,不管是使用LoadRunner仍是JMeter或者OpenSTA,你均可以用這些方法和思路來評估你的系統的性能。
事實上,在性能測試領域中還有更多的東西是目前的商業測試工具或者開源測試工具都沒有專門講述的——換句話說,性能測試僅僅有工具是不夠的。咱們還須要更多其餘領域的知識,例如數學和統計學,來幫助咱們更好的分析性能數據,找到隱藏在那些數據之下的真相。
歡迎各位同行高手灌水拍磚 ^_^
後續請繼續關《LoadRunner 沒有告訴你的》之二——Std.(標準差) 在性能測試分析中的應用 。