1. 程式人生 > >效能測試分析思路(未完待續)

效能測試分析思路(未完待續)

一.效能測試步驟

二.效能測試通過標準

吞吐量:

響應時間:90%小於200ms

失敗率:<0.01%

cpu使用率:<80%


三.效能測試指標和監控

業務效能指標

吞吐量,響應時間,失敗率

1.吞吐量

      以jmeter工具為例,每次執行完效能測試之後可以通過聚合報告裡面看到吞吐量,

                                                                                                                                      圖1

        在這份報告裡面throughput也就是吞吐量(tps),一般情況下我們不可能執行一次就能夠得到最大吞吐量,我們一般採用二分增加,如對執行緒數20、40、80、160,當發現增大後降低,再對該區間二分嘗試,最後對拐點附近精細嘗試得到最大吞吐量;那麼我們如何得到理想的tps呢?當我們得到了最大的tps,那麼這種情況下是否就可以任務效能滿足了呢?

        這裡有兩種方法可供參考:

       1.1.這裡面涉及到使用者訪問量(pv)和tps的一個對應關係,一般我們會從運維那裡得到整個系統在一天pv的一個趨勢圖,按小時進行統計可以看到24個小時裡面pv的趨勢,我們取其中最大的值換算成每秒最大pv,看tps是否大於日最高pv數;

        1.2.二八原則:指80%的業務量在20%的時間裡完成

          如何理解,下面我們來個例子吧

使用者登入場景:早高峰時段,8:50---9:10,5000坐席上線登陸。

      業務量:5000個 

      時間:20x60=1200秒

    吞吐量=80%x業務量/(20%*時間)=4000/240=16.7/秒

而並非5000/1200=4.1/秒

實際上,登入請求數分佈是一個正態分佈,最高峰時肯定比4.1/秒更高,高峰段實際上完成了80%的業務量,卻只花了20%的時間,二八原則計算的結果並非在線併發使用者數,是系統要達到的處理能力(吞吐量),初學者容易被誤導,那這這個資料就去設定併發數,這是錯誤滴。

基於以上,如果我們通過計算得到了系統最大的吞吐量,當我們通過壓測,得到的吞吐量大於計算出來的吞吐量,那麼系統系統就是安全的;

      另外一點,由於在這裡可以看到tps的值,但是看不到tps的變化趨勢,不過jmeter裡面提供了這項功能,右鍵執行緒組-新增-監聽器-圖形結果,這裡可以檢視tps的趨勢;


2.響應時間

在圖1的第3-7列依次表示的是平均響應時間、50%使用者響應時間、90%使用者響應時間,最小最大響應時間;

一般我們在測試的過程中

3.失敗率

資源效能指標

1.如何分析cpu

通過top命令:

顯示出來的指標有很多,主要關注的指標有load average(參考:cpu中的load average),%us,%sy

       load average顯示的是最近1分鐘、5分鐘和15分鐘的系統平均負載。評估系統性能時,不僅僅看load average的數值,而且應該結合系統的CPU核數(top命令下按1可以顯示出有幾個cpu核),系統的負載均值是基於核心的數量決定的,例如該伺服器有24核,則單核的CPU負載為7/24。
依據經驗分析,單核CPU負載<2時,系統性能是良好的,當單核CPU負載>5時,那麼就表明這個機器存在嚴重的效能問題。

      如果CPU在滿負荷執行,應該符合下列分佈,
      a) User Time:65%~70%
      b) System Time:30%~35%

2.如何分析記憶體

3.如何分析網路

4.如何分析IO

5.資料庫負載

三.效能測試分析

四.

參考文章:

http://blog.csdn.net/musen518/article/details/50441473