1. 程式人生 > >[搬運工系列]-JMeter(十四)解讀聚合報告

[搬運工系列]-JMeter(十四)解讀聚合報告

一個每天1000萬PV的網站需要什麼樣的效能去支撐呢?
繼續上一篇,下面我們就來計算一下,前面我們已經搞到了一票資料,但是這些資料的意義還沒有說。技術是為業務服務的,下面就來說說怎麼讓些資料變得有意義。

一、聚合報告
初識聚合報告是不是有些眼熟,是的你沒看錯,他跟Apache AB的結果是類似的,事實上LoadRunner也會有一票這樣類似的資料。
下面分別說下各個資料的意義,其中標成紅色的是需要特別關注的。

1. #Samples:樣本數,如果你看過上一篇,這個就是前面我們那個公式算出來的結果
(Loop Count(Loop Controler)*Number of Threads*Loop Count(group))
2. Average:平均響應時間。
3. Median:中位數,50%使用者響應時間。
4. 90% Line:90%使用者響應時間。
5. Min:最小響應時間。
6. Max:最大響應時間。 7. Error%:本次測試中出現錯誤的請求的數量/請求的總數 8. Throughput:吞吐量,表示每秒完成的請求數。 9. KB/Sec:每秒從伺服器端接收到的資料量(只是接收)。     下面說說幾個重點引數:
1.為什麼說%90 Line重要呢?

舉個栗子:姚明與郭敬明平均身高約1.84米能說明什麼?如果這個例子不夠形象再想想我大天朝的平均工資。所以平均不代表公平,因為總有那麼一小撮人會極大的影響平均值,而大多數人是被平均的。

通過JMeter官網我們能發現對這個引數的定義( http://jmeter.apache.org/usermanual/glossary.html): 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.   貌似這段話說的不明不白,但他給我提示了一個重要的詞Percentile,於是我們繼續跟進,原來這是一個統計術語。維基上有詳細說明,並有公式: n=(100/P)*N+1/2
其中n=排序位;P=待排序值;N=總的排序值數量   這塊說的有點繞,看維基上的例子會比較清晰( http://en.wikipedia.org/wiki/Percentile)。 說白了就是將一組資料從大到小排序,並計算相應的累計百分位,則某一百分位所對應資料的值就稱為這一百分位的百分位數。   2.Error% 
這個不說了,大家都懂。   3.Throughput  
這又是個很重要的引數了,開頭提到的PV計算就跟這個數有關了。
計算公式見下圖,通過Throughput可以換算出PV,當然為了應付突發狀況還要留出一定的Buffer。
所以現在回到開頭的那個問題,理論上每秒231的事務數就可以(10000000*0.8)/(24*60*60*0.4),當然這只是理論上;-) psb    

4.KB/Sec
這個不細說了,跟計算你的機房頻寬有關的。

二、圖形結果 
這裡比較重要的引數是偏離量。
偏離量,理論上是越小系統穩定的。但多少是小呢?所以這種說法是不準確的,“朝菌不知晦朔,蟪蛄不知春秋”,在不同的場景下對標準的定義也是不同的。

因為對正態分佈和置信區間這塊我也不太懂,這裡就不敢瞎說了。

三、結果樹
請求的執行狀態,這裡略。