作測試,各類ps,jps,tps,qps,rps,hps,你理解幾個?html
技術羣裏,問得最多的就是tps和qps,有類似的地方,也有差別的地方,我簡單談下本身的理解。(因爲比較忙,下面部分摘抄自網絡)前端
QPS:Queries Per Second,意思是「每秒查詢率」,是一臺服務器每秒可以響應的查詢次數,是對一個特定的查詢服務器(好比是讀寫分離的架構,就是讀的服務器)在規定時間內所處理流量多少的衡量標準。數據庫
TPS:TransactionsPerSecond,意思是每秒事務數,一個事務是指一個客戶機向服務器發送請求而後服務器作出反應的過程。客戶機在發送請求時開始計時,收到服務器響應後結束計時,以此來計算使用的時間和完成的事務個數。後端
tps,即每秒處理事務數,每一個事務包括了以下3個過程:服務器
a.用戶請求服務器網絡
b.服務器本身的內部處理(包含應用服務器、數據庫服務器等)架構
c.服務器返回給用戶前後端分離
若是每秒可以完成N個這三個過程,tps就是N;前端性能
qps,若是是對一個頁面請求一次,造成一個tps,但一次頁面請求,可能產生屢次對服務器的請求(頁面上有不少html資源,好比圖片等),服務器對這些請求,就可計入「Qps」之中;性能
可是,現在的項目基本上都是先後端分離的,性能也分爲前端性能和後端性能,一般默認是後端性能,即服務端性能,也就是對服務端接口作壓測
若是是對一個接口(單場景)壓測,且這個接口內部不會再去請求其它接口,那麼tps=qps,不然,tps≠qps
若是是對多個接口(混合場景)壓測,不加事務控制器,jmeter會統計每一個接口的tps,而混合場景是要測試這個場景的tps,顯然這樣得不到混合場景的tps,因此,要加了事物控制器,結果纔是整個場景的tps。
jmeter聚合報告中,Throughput是用來衡量吞吐量,一般由tps來表示
部分參考自(有改動,若有侵權,請聯繫刪除):