1、TPS:
Transactions Per Second,意思是每秒事務(wù)數(shù)。一個事務(wù)是指客戶端向服務(wù)器發(fā)送請求然后服務(wù)器做出反應(yīng)的過程,具體的事務(wù)定義,可以是一個接口、多個接口、一個業(yè)務(wù)流程等等。以單接口定義為事務(wù)舉例,每個事務(wù)包括了如下3個過程:
- (1)向服務(wù)器發(fā)請求
- (2)服務(wù)器自己的內(nèi)部處理(包含應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器等)
- (3)服務(wù)器返回結(jié)果給客戶端
如果每秒能夠完成 N 次以上3個過程,TPS 就是 N。
TPS 是軟件測試結(jié)果的測量單位。我們在進(jìn)行服務(wù)性能壓測時,接口層面最常關(guān)注的是最大 TPS 以及接口響應(yīng)時間,個人理解 TPS 可以指一組邏輯相關(guān)的請求,而服務(wù)整體處理能力取決于處理能力最低模塊的TPS值。
2、QPS:
Queries Per Second,意思是每秒查詢率。指一臺服務(wù)器每秒能夠響應(yīng)的查詢次數(shù),用于衡量特定的查詢服務(wù)器在規(guī)定時間內(nèi)所處理流量多少,主要針對專門用于查詢的服務(wù)器的性能指標(biāo),比如dns,它不包含復(fù)雜的業(yè)務(wù)邏輯處理,比如數(shù)據(jù)庫中的每秒執(zhí)行查詢sql的次數(shù)。QPS 只是一個簡單查詢的統(tǒng)計顯然,不能描述增刪改等操作,顯然它不夠全面,所以不建議用 QPS 來描述系統(tǒng)整體的性能;
QPS 基本類似于 TPS,但是不同的是,對于一個事務(wù)訪問,會形成一個 “ T ”;但一次 " T " 中,可能產(chǎn)生多次對服務(wù)器的請求,服務(wù)器對這些請求,就可計入 QPS 之中。
3、區(qū)別:
(1)如果是對一個查詢接口壓測,且這個接口內(nèi)部不會再去請求其它接口,那么 TPS = QPS,否則,TPS ≠ QPS
(2)如果是容量場景,假設(shè) N 個接口都是查詢接口,且這個接口內(nèi)部不會再去請求其它接口,QPS = N * TPS