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