jmeter視頻地址:https://edu.51cto.com/course/14305.html


上一篇文章中我們講了Jmeter結果分析最常用的一個Listener查看結果樹,


今天接著講另一個最常用的listener--聚合報告Aggregate Report。


我們先來看看聚合報告中的主要名稱的含意:

Label:每個請求的名稱

#Samples:各請求發出的數量

Average:平均響應時間(單位:毫秒)。默認是單個Request的平均響應時間,當使用了Transaction Controller時,也可以以Transaction為單位顯示平均響應時間

Median:中位數,具體后面講

90%Line:后面講

95%Line:后面講

99%Line:后面講

Min:最小響應時間

Max:最大響應時間

Error%:請求的錯誤率 = 錯誤請求的數量/請求的總數

Throughput:吞吐量。默認情況下表示每秒完成的請求數,一般認為它為TPS。(注意單位的變化,如上圖中,當TPS很低時,jmeter中默認會統計成每分鐘的值,這時我們需要換算成以秒為單位)

KB/sec:每秒從服務器端接收到的數據量。

90%Line

?
在這里我覺得有必要說一下對 90%Line 的理解:

很多人都理解為:90%用戶的平均響應時間。(我之前也一直這樣認為),但是后來才發現我錯了。

那看看JMeter 官網是怎么說的?

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

“ 90% 的請求耗時沒有超過這個時間,剩余的請求耗時至少在這個時間之上。”也就是說90%的請求耗時都在這個時間之下。

這里涉及到一個數學中的概念:百分位數

百分位數:

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

百分位通常用第幾百分位來表示,如第五百分位,它表示在所有測量數據中,測量值的累計頻次達5%。以身高為例,身高分布的第五百分位表示有5%的人的身高小于此測量值,95%的身高大于此測量值。

百分位數則是對應于百分位的實際數值。



? ? ? 百分位數是用于衡量數據的位置的量度,但它所衡量的,不一定是中心位置。百分位數提供了有關各數據項如何在最小值與最大值之間分布的信息。對于無大量重復的數據,第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。?

那么把百分位數用在性能測試中有什么意義呢?

它可以使用我們的分析結果更準確!

因為在評估一次測試的結果時,僅僅有平均響應時間是不夠的。假如有一次測試,總共有100個請求被響應,其中最小響應時間為0.02秒,最大響應時間為110秒,平均事務響應時間為4.7秒,你會不會想到最小和最大響應時間如此大的偏差?是否會導致平均值本身并不可信?

如果我們把每個請求的響應時間用excel統計出來,會發現那個最大值的出現幾率只不過是千分之一甚至萬分之一,剩下99%的用戶請求的響應時間都是在性能需求所定義的范圍之內的;所以為了更準確的衡量整體請求的耗時情況,除了平均響應時間之外,還要有90%Line、95%Line、99%Line來輔助統計。

總結一下,聚合報告中的百分位數的含意:

Median:中位數,50%用戶的響應時間在小于該值,注意它與average平均響應時間的區別;

90%Line:90%用戶的響應時間小于該值

95%Line:95%用戶的響應時間小于該值

99%Line:99%用戶的響應時間小于該值

現在你明白了嗎?