1. 程式人生 > >【蟲師--系列】JMeter 聚合報告之 90% Line 引數說明

【蟲師--系列】JMeter 聚合報告之 90% Line 引數說明

來自:http://www.cnblogs.com/fnng/archive/2013/02/26/2934317.html   作者:蟲師


其實要說明這個引數的含義非常簡單,可能你早就知道他的含義,但我對這個引數一直有誤解,而且還一直以為是“真理”,原於一次面試,被問到了這個問題,所以引起我這個引數的重新認識。


 


先說說我錯誤的認識:


 


    我一直把90%Line 理解為: 90%使用者的平均響應時間。


假如有10個數:


1、2、3、4、5、6、7、8、9、23


我會從這一組數中剔除掉10%的“另類”,也就是剔除 23 ,因為如果把23計算進去求平均值,會有很大誤差。可能大部分(90%)使用者的響應感知那麼差。


如果計算所有使用者的平均響應時間為:


(1+2+3+4+5+6+7+8+9+23)/10=6.8  以秒單位的話,就是使用者平均響應時間為6.8秒。


去掉%10的另類(23)再來計算平均響應時間:


(1+2+3+4+5+6+7+8+9)/9=5   以秒為單位,那麼90%使用者的平均響應時間是5秒。


 


那麼,假如是下面的兩組數呢:


1、2、3、4、5、6、7、8、9、10 


5、5、5、5、5、6、6、6、6、6


我求90%的平均響應時間,應該去哪個數?好像沒有太突出的“另類”數。


 


為什麼會產生這個錯誤認識,因為看到不少資料(非官網)對“90%Line”解釋為:90% 使用者的響應時間   


 


 


90% Line 引數正確的含義: 


 


雖然,我的上面理解有一定的道理,顯然它是錯誤的。那看看JMeter 官網是怎麼說的?


 


90% Line - 90% of the samples took no more than this time. The remaining samples at least as long as this.


 


“ 90% 的樣品沒有超過這個時間,剩餘的樣品至少只要這個。”(拿google翻譯的)


沒太理解是什麼意思,於是,點選詳細解釋。


90% Line (90 th Percentile) is the value below which 90% of the samples fall. The remaining samples too at least as long as the value. This is a standard statistical measure. See, for example: Percentile entry at Wikipedia. 


英語太差,還是沒理解到底啥意思,不過最後提示我,用維基百科查一下什麼是百分位數。


 


百分位數:


  統計學術語,如果將一組資料從大到小排序,並計算相應的累計百分位,則某一百分位所對應資料的值就稱為這一百分位的百分位數。可表示為:一組n個觀測值按數值大小排列如,處於p%位置的值稱第p百分位數。


  中位數是第50百分位數。


  第25百分位數又稱第一個四分位數(First Quartile),用Q1表示;第50百分位數又稱第二個四分位數(Second Quartile),用Q2表示;第75百分位數又稱第三個四分位數(Third Quartile),用Q3表示。若求得第p百分位數為小數,可完整為整數。


  分位數是用於衡量資料的位置的量度,但它所衡量的,不一定是中心位置。百分位數提供了有關各資料項如何在最小值與最大值之間分佈的資訊。對於無大量重複的資料,第p百分位數將它分為兩個部分。大約有p%的資料項的值比第p百分位數小;而大約有(100-p)%的資料項的值比第p百分位數大。對第p百分位數,嚴格的定義如下。


  第p百分位數是這樣一個值,它使得至少有p%的資料項小於或等於這個值,且至少有(100-p)%的資料項大於或等於這個值。


  高等院校的入學考試成績經常以百分位數的形式報告。比如,假設某個考生在入學考試中的語文部分的原始分數為54分。相對於參加同一考試的其他學生來說,他的成績如何並不容易知道。但是如果原始分數54分恰好對應的是第70百分位數,我們就能知道大約70%的學生的考分比他低,而約30%的學生考分比他高。 


 


其實,也就是最後這個考生分數的例子,讓我豁然明白了。


 


假如:


有10個數:


1、2、3、4、5、6、7、8、9、10    按由大到小將其排列。


求它的第90%百分位,也就是第9個數剛好是9 ,那麼他的90%Line 就是9 。


另一組數:


2、2.1、2.5、3、3.4、3.4、4、4、4、4、5、5、5、5.9、5.91、6.8、8、12、24、24.1   按由大到小將其排列。


求它的第90%百分位,第18個數是12 麼,他的90%Line 就是12。 


 


再來解釋90%Line 


一組數由小到大進行排列,找到他的第90%個數(假如是12),那麼這個陣列中有90%的數將小於等於12 。


用在效能測試的響應時間也將非常有意義,也就是90%請求響應時間不會超過12 秒。