qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          描述性統(tǒng)計(jì)與性能結(jié)果分析——《LoadRunner 沒有告訴你的》

          LoadRunner中的90%響應(yīng)時(shí)間是什么意思?這個(gè)值在進(jìn)行性能分析時(shí)有什么作用?本文爭(zhēng)取用最簡(jiǎn)潔的文字來解答這個(gè)問題,并引申出“描述性統(tǒng)計(jì)”方法在性能測(cè)試結(jié)果分析中的應(yīng)用。

          為什么要有90%用戶響應(yīng)時(shí)間?因?yàn)樵谠u(píng)估一次測(cè)試的結(jié)果時(shí),僅僅有平均事務(wù)響應(yīng)時(shí)間是不夠的。為什么這么說?你可以試著想想,是否平均事務(wù)響應(yīng)時(shí)間滿足了性能需求就表示系統(tǒng)的性能已經(jīng)滿足了絕大多數(shù)用戶的要求?

          假如有兩組測(cè)試結(jié)果,響應(yīng)時(shí)間分別是{1351016}{56789},它們的平均值都是7,你認(rèn)為哪次測(cè)試的結(jié)果更理想?

          假如有一次測(cè)試,總共有100個(gè)請(qǐng)求被響應(yīng),其中最小響應(yīng)時(shí)間為0.02秒,最大響應(yīng)時(shí)間為110秒,平均事務(wù)響應(yīng)時(shí)間為4.7秒,你會(huì)不會(huì)想到最小和最大響應(yīng)時(shí)間如此大的偏差是否會(huì)導(dǎo)致平均值本身并不可信?

          為了解答上面的疑問,我們先來看一張表:

           


           

          在上面這個(gè)表中包含了幾個(gè)不同的列,其含義如下:

           

          CmdID  測(cè)試時(shí)被請(qǐng)求的頁(yè)面

          NUM     響應(yīng)成功的請(qǐng)求數(shù)量

          MEAN   所有成功的請(qǐng)求的響應(yīng)時(shí)間的平均值

          STD DEV     標(biāo)準(zhǔn)差(這個(gè)值的作用將在下一篇文章中重點(diǎn)介紹)

          MIN             響應(yīng)時(shí)間的最小值

          50 th(60/70/80/90/95 th)        如果把響應(yīng)時(shí)間從小到大順序排序,那么50%的請(qǐng)求的響應(yīng)時(shí)間在這個(gè)范圍之內(nèi)。后面的60/70/80/90/95 th也是同樣的含義

          MAX     響應(yīng)時(shí)間的最大值

           

          我想看完了上面的這個(gè)表和各列的解釋,不用多說大家也可以明白我的意思了。我把結(jié)論性的東西整理一下:

          1.     90%用戶響應(yīng)時(shí)間在LoadRunner中是可以設(shè)置的,你可以改為80%或95%;

          2.     對(duì)于這個(gè)表,LoadRunner中是沒有直接提供的,你可以把LR中的原始數(shù)據(jù)導(dǎo)出到Excel中,并使用Excel中的PERCENTILE函數(shù)很簡(jiǎn)單的算出不同百分比用戶請(qǐng)求的響應(yīng)時(shí)間分布情況;

          3.     從上面的表中來看,對(duì)于Home Page來說,平均事務(wù)響應(yīng)時(shí)間(MEAN)只同70%用戶響應(yīng)時(shí)間相一致。也就是說假如我們確定Home Page的響應(yīng)時(shí)間應(yīng)該在5秒內(nèi),那么從平均事務(wù)響應(yīng)時(shí)間來看是滿足的,但是實(shí)際上有10-20%的用戶請(qǐng)求的響應(yīng)時(shí)間是大于這個(gè)值的;對(duì)于Page 1也是一樣,假如我們確定對(duì)于Page 1的請(qǐng)求應(yīng)該在3秒內(nèi)得到響應(yīng),雖然平均事務(wù)響應(yīng)時(shí)間是滿足要求的,但是實(shí)際上有20-30%的用戶請(qǐng)求的響應(yīng)時(shí)間是超過了我們的要求的;

          4.     你可以在95 th之后繼續(xù)添加96/ 97/ 98/ 99/ 99.9/ 99.99 th,并利用Excel的圖表功能畫一條曲線,來更加清晰表現(xiàn)出系統(tǒng)響應(yīng)時(shí)間的分布情況。這時(shí)候你也許會(huì)發(fā)現(xiàn),那個(gè)最大值的出現(xiàn)幾率只不過是千分之一甚至萬(wàn)分之一,而且99%的用戶請(qǐng)求的響應(yīng)時(shí)間都是在性能需求所定義的范圍之內(nèi)的;

          5.     如果你想使用這種方法來評(píng)估系統(tǒng)的性能,一個(gè)推薦的做法是盡可能讓你的測(cè)試場(chǎng)景運(yùn)行的時(shí)間長(zhǎng)一些,因?yàn)楫?dāng)你獲得的測(cè)試數(shù)據(jù)越多,這個(gè)響應(yīng)時(shí)間的分布曲線就越接近真實(shí)情況;

          6.     在確定性能需求時(shí),你可以用平均事務(wù)響應(yīng)時(shí)間來衡量系統(tǒng)的性能,也可以用90%或95%用戶響應(yīng)時(shí)間來作為度量標(biāo)準(zhǔn),它們并不沖突。實(shí)際上,在定義某些系統(tǒng)的性能需求時(shí),一定范圍內(nèi)的請(qǐng)求失敗也是可以被接受的;

          7.     上面提到的這些內(nèi)容其實(shí)是與工具無關(guān)的,只要你可以得到原始的響應(yīng)時(shí)間記錄,無論是使用LoadRunner還是JMeter或者OpenSTA,你都可以用這些方法和思路來評(píng)估你的系統(tǒng)的性能。

           

          事實(shí)上,在性能測(cè)試領(lǐng)域中還有更多的東西是目前的商業(yè)測(cè)試工具或者開源測(cè)試工具都沒有專門講述的——換句話說,性能測(cè)試僅僅有工具是不夠的。我們還需要更多其他領(lǐng)域的知識(shí),例如數(shù)學(xué)和統(tǒng)計(jì)學(xué),來幫助我們更好的分析性能數(shù)據(jù),找到隱藏在那些數(shù)據(jù)之下的真相。

          數(shù)據(jù)統(tǒng)計(jì)分析的思路與分析結(jié)果的展示方式是同樣重要的,有了好的分析思路,但是卻不懂得如何更好的展示分析結(jié)果和數(shù)據(jù)來印證自己的分析,就像一個(gè)人滿腹經(jīng)綸卻不知該如何一展雄才

          ^_^

          一圖勝千言,所以這次我會(huì)用兩張圖表來說明“描述性統(tǒng)計(jì)”在性能測(cè)試結(jié)果分析中的其他應(yīng)用。


          在這張圖中,我們繼續(xù)使用了上一篇文章——《描述性統(tǒng)計(jì)與結(jié)果分析》一文中的方法,對(duì)響應(yīng)時(shí)間的分布情況來進(jìn)行分析。上面這張圖所使用的數(shù)據(jù)是通過對(duì)

          Google.com首頁(yè)進(jìn)行測(cè)試得來的,在測(cè)試中分別使用10/25/50/75/100幾個(gè)不同級(jí)別的并發(fā)用戶數(shù)量。通過這張圖表,我們可以通過橫向比較和縱向比較,更清晰的了解到被測(cè)應(yīng)用在不同級(jí)別的負(fù)載下的響應(yīng)能力。

          這張圖所使用的數(shù)據(jù)與第一張圖一樣,但是我們使用了另外一個(gè)視角來對(duì)數(shù)據(jù)進(jìn)行展示。表中最左側(cè)的2000/5000/10000/50000的單位是毫秒,分別表示了在整個(gè)測(cè)試過程中,響應(yīng)時(shí)間在0-2000毫秒范圍內(nèi)的事務(wù)數(shù)量占成功的事務(wù)總數(shù)的百分比,響應(yīng)時(shí)間在2001-5000毫秒范圍內(nèi)的事務(wù)數(shù)量占成功的事務(wù)總數(shù)的百分比,響應(yīng)時(shí)間在5001-10000毫秒范圍內(nèi)的事務(wù)數(shù)量占成功的事務(wù)總數(shù)的百分比,以及響應(yīng)時(shí)間在10001-50000毫秒范圍內(nèi)的事務(wù)數(shù)量占成功的事務(wù)總數(shù)的百分比。

          這幾個(gè)時(shí)間范圍的確定是參考了業(yè)內(nèi)比較通行的“2-5-10原則”——當(dāng)然你也可以為自己的測(cè)試制定其他標(biāo)準(zhǔn),只要得到企業(yè)內(nèi)的承認(rèn)就可以。所謂的“2-5-10原則”,簡(jiǎn)單說,就是當(dāng)用戶能夠在2秒以內(nèi)得到響應(yīng)時(shí),會(huì)感覺系統(tǒng)的響應(yīng)很快;當(dāng)用戶在2-5秒之間得到響應(yīng)時(shí),會(huì)感覺系統(tǒng)的響應(yīng)速度還可以;當(dāng)用戶在5-10秒以內(nèi)得到響應(yīng)時(shí),會(huì)感覺系統(tǒng)的響應(yīng)速度很慢,但是還可以接受;而當(dāng)用戶在超過10秒后仍然無法得到響應(yīng)時(shí),會(huì)感覺系統(tǒng)糟透了,或者認(rèn)為系統(tǒng)已經(jīng)失去響應(yīng),而選擇離開這個(gè)Web站點(diǎn),或者發(fā)起第二次請(qǐng)求。

          那么從上面的圖表中可以看到,當(dāng)并發(fā)用戶數(shù)量為10時(shí),超過95%的用戶都可以在5秒內(nèi)得到響應(yīng);當(dāng)并發(fā)用戶數(shù)量達(dá)到25時(shí),已經(jīng)有80%的事務(wù)的響應(yīng)時(shí)間處在危險(xiǎn)的臨界值,而且有相當(dāng)數(shù)量的事務(wù)的響應(yīng)時(shí)間超過了用戶可以容忍的限度;隨著并發(fā)用戶數(shù)量的進(jìn)一步增加,超過用戶容忍限度的事務(wù)越來越多,當(dāng)并發(fā)用戶數(shù)到達(dá)75時(shí),系統(tǒng)幾乎已經(jīng)無法為任何用戶提供響應(yīng)了。

          這張圖表也同樣可以用于對(duì)不同負(fù)載下事務(wù)的成功、失敗比例的比較分析。

           

          Note:上面兩個(gè)圖表中的數(shù)據(jù),主要通過Excel中提供的FREQUENCYAVERAGEMAXMINPERCENTILE幾個(gè)統(tǒng)計(jì)函數(shù)獲得,具體的使用方法請(qǐng)參考Excel幫助手冊(cè)。




          posted on 2012-06-14 10:45 順其自然EVO 閱讀(323) 評(píng)論(0)  編輯  收藏 所屬分類: loadrunner性能測(cè)試

          <2012年6月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 阿勒泰市| 策勒县| 泌阳县| 凉山| 凤翔县| 金华市| 白水县| 宁陕县| 河南省| 黔南| 霞浦县| 桂林市| 砚山县| 申扎县| 贡觉县| 宣恩县| 孟州市| 吴忠市| 崇礼县| 隆昌县| 临泽县| 淳化县| 张掖市| 昭苏县| 贞丰县| 广元市| 景德镇市| 浦县| 丹东市| 祁连县| 福州市| 鹤庆县| 尤溪县| 临沧市| 陵川县| 麻城市| 尼玛县| 石柱| 长宁区| 烟台市| 汝州市|