性能測試:TPS和QPS到底有啥區(qū)別呢?

位置:首頁 / 新聞中心 / 知識教程

知識教程 Admin 2024-02-22 11:14:38 779

一、TPS

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


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


a.向服務(wù)器發(fā)請求


b.服務(wù)器自己的內(nèi)部處理(包含應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器等)


c.服務(wù)器返回結(jié)果給客戶端


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


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


二、QPS

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


三、區(qū)別

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


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


jmeter聚合報告中,Throughput是用來衡量請求的吞吐量,也就是tps,tps=樣本數(shù)/運行時間;我們定義的是tps,不是qps


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

總結(jié)

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

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

以上就是“性能測試:TPS和QPS到底有啥區(qū)別呢?”的詳細內(nèi)容,更多請關(guān)注木子天禾科技其它相關(guān)文章!

以上就是“性能測試:TPS和QPS到底有啥區(qū)別呢?”的詳細內(nèi)容,更多請關(guān)注木子天禾科技其它相關(guān)文章!

15934152105 掃描微信