一、TPS
TPS:Transactions Per Second,意思是每秒事務數,具體事務的定義,都是人為的,可以一個接口、多個接口、一個業(yè)務流程等等。一個事務是指事務內第一個請求發(fā)送到接收到最后一個請求的響應的過程,以此來計算使用的時間和完成的事務個數。
以單接口定義為事務為例,每個事務包括了如下3個過程:
a.向服務器發(fā)請求
b.服務器自己的內部處理(包含應用服務器、數據庫服務器等)
c.服務器返回結果給客戶端
如果每秒能夠完成N次這三個過程,tps就是N;
如果多個接口定義為一個事務,那么,會重復執(zhí)行abc,完成一次這幾個請求,算做一個tps。
二、QPS
QPS:Queries Per Second,意思是每秒查詢率,是一臺服務器每秒能夠響應的查詢次數(數據庫中的每秒執(zhí)行查詢sql的次數),顯然,這個不夠全面,不能描述增刪改,所以,不建議用qps來作為系統(tǒng)性能指標。
三、區(qū)別
如果是對一個查詢接口(單場景)壓測,且這個接口內部不會再去請求其它接口,那么tps=qps,否則,tps≠qps
如果是容量場景,假設n個接口都是查詢接口,且這個接口內部不會再去請求其它接口,qps=n*tps
jmeter聚合報告中,Throughput是用來衡量請求的吞吐量,也就是tps,tps=樣本數/運行時間;我們定義的是tps,不是qps
如果沒有定義事務,會把每個請求作為一個事務
總結
QPS是Query Per Second,是數據庫中的概念,每秒執(zhí)行條數(查詢),被引申到壓測中來了,但是不包括插入、更新、刪除操作,所以不建議用qps來描述系統(tǒng)整體的性能;
建議用tps,這個t,你可以隨意的定義,可以是一個接口,也可以是一個業(yè)務流程等等。
以上就是“性能測試:TPS和QPS到底有啥區(qū)別呢?”的詳細內容,更多請關注木子天禾科技其它相關文章!