描述性統(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í)間分別是{1,3,5,10,16}和{5,6,7,8,9},它們的平均值都是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ì) 這張圖所使用的數(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中提供的FREQUENCY,AVERAGE,MAX,MIN和PERCENTILE幾個(gè)統(tǒng)計(jì)函數(shù)獲得,具體的使用方法請(qǐng)參考Excel幫助手冊(cè)。
posted on 2012-06-14 10:45 順其自然EVO 閱讀(323) 評(píng)論(0) 編輯 收藏 所屬分類: loadrunner 、性能測(cè)試