性能測試:TPS和QPS的區別


做測試,各種ps,jps,tps,qps,rps,hps,你理解幾個?

技術群里(652122175),問得最多的就是tps和qps,有相似的地方,也有差異的地方,我簡單談下自己的理解。

TPS

TPS:Transactions Per Second,意思是每秒事務數,具體事務的定義,都是人為的,可以一個接口、多個接口、一個業務流程等等。一個事務是指事務內第一個請求發送到接收到最后一個請求的響應的過程,以此來計算使用的時間和完成的事務個數。

以單接口定義為事務為例,每個事務包括了如下3個過程:

  a.向服務器發請求

  b.服務器自己的內部處理(包含應用服務器、數據庫服務器等)

  c.服務器返回結果給客戶端

  如果每秒能夠完成N次這三個過程,tps就是N;

如果多個接口定義為一個事務,那么,會重復執行abc,完成一次這幾個請求,算做一個tps。

QPS

QPS:Queries Per Second,意思是每秒查詢率,是一台服務器每秒能夠響應的查詢次數(數據庫中的每秒執行查詢sql的次數),顯然,這個不夠全面,不能描述增刪改,所以,不建議用qps來作為系統性能指標。

區別

如果是對一個查詢接口(單場景)壓測,且這個接口內部不會再去請求其它接口,那么tps=qps,否則,tps≠qps

如果是容量場景,假設n個接口都是查詢接口,且這個接口內部不會再去請求其它接口,qps=n*tps

 

jmeter聚合報告中,Throughput是用來衡量請求的吞吐量,也就是tps,tps=樣本數/運行時間

如果沒有定義事務,會把每個請求作為一個事務

我的建議

QPS是Query Per Second,是數據庫中的概念,每秒執行條數(查詢),被引申到壓測中來了,但是不包括插入、更新、刪除操作,所以不建議用qps來描述系統整體的性能;

建議用tps,這個t,你可以隨意的定義,可以是一個接口,也可以是一個業務流程等等。

 

性能測試:從0到實戰

https://www.cnblogs.com/uncleyong/p/12311432.html

 

自動化測試實戰

https://www.cnblogs.com/uncleyong/p/12016690.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM