Jmeter的Throughput和平均響應時間計算方法整理

 

整理了下Jmeter的Throughput和平均RT的計算,以下公式:html

 

TPS=(sample樣本數)/(最後一個線程啓動的時間+最後一個線程持續的時間-第一個線程啓動的時間)

RT=全部sample樣本響應時間和/樣本個數

 

1.TPS:每秒處理的事務數,jmeter的Throughput爲吞吐率(請求數/秒),在加了事務控制器後,TPS=Throughputapache

宏觀上:TPS=併發數/響應時間,jmeter的Throughput = (number of requests) / (total time) ,即服務器

Throughput =(sample樣本數)/(最後一個線程啓動的時間+最後一個線程持續的時間-第一個線程啓動的時間)併發

能夠這樣理解這個公式:絕對的併發是不存在的,請求發出的時間總有前後,絕對的TPS也是沒法計算的,統計的角度看,服務器處理請求總數/花費的時間便是TPS,這也是spa

爲何須要不斷增大用戶數來尋找服務器的最大TPS的緣由線程

 

2.平均響應時間=全部sample樣本響應時間和/樣本個數code

 

 誤區:htm

TPS=請求數/RT   (RT是全部事物的平均時間) 

 

此TPS的計算公式是錯誤的blog

 

數學公式法:事務

    TPS= (number of requests) / (total time)       --------公式1     TPS的定義公式

  TPS=1/RT * 請求數 = 樣本個數2/全部sample樣本響應時間和   -----------公式2 帶入公式  平均響應時間=全部sample樣本響應時間和/樣本個數

    假設公式2等於公式1 ,則 

    (number of requests) / (total time) = 樣本個數2/全部sample樣本響應時間和  

    即:

    1/ (total time)  =  樣本個數 / 全部sample樣本響應時間和 

    顯然等式兩邊不成立,假設不成立

 

    另:number of requests 是等於 樣本個數  等於  請求數

 

 

場景分析法:

    場景1,A應用是單線程處理,處理一個請求須要1s,5個VU去請求一次,第一個請求花費了1s,第二個花了2s...第五個花了5s,總時間是(5+4+3+2+1)=15 s,總請求數是5,因此A系統的TPS = 5/15 = 1/3,平均響應時間是(5+4+3+2+1)/5=3s,此時若按照TPS=1/RT*請求數  計算,則TPS=1/3 * 5 = 5/3 , 顯然是不對的

    場景2,當去請求多個事物時,此時這個公式是明顯錯誤的

 

參考:

http://www.i3geek.com/archives/1165

http://jmeter.apache.org/usermanual/glossary.html#Throughput

http://yhz61010.iteye.com/blog/1735874

http://www.cnblogs.com/ceshixuexi/p/7116683.html

相關文章
相關標籤/搜索