QPS 和 TPS
QPS
Queries Per Second 意思是“每秒查詢率”,是一台服務器每秒能夠相應的查詢次數,是對一個特定的查詢服務器在規定時間內所處理流量多少的衡量標准。
TPS
TransactionsPerSecond 是事務數/秒。一個事務是指一個客戶機向服務器發送請求然后服務器做出反應的過程。客戶機在發送請求時開始計時,收到服務器響應后結束計時,以此來計算使用的時間和完成的事務個數。
TPS 事物
Tps 包括三個過程,分別是:
-
用戶請求服務器
-
服務器自己的內部處理
-
服務器返回給用戶
QPS 和 TPS 區別
一次 TPS 表示一個事物的完整過程,這個過程中可能包含多個 QPS。例如:訪問一次頁面是一次 TPS,訪問頁面的時候頁面有多個請求,每個請求算一次 QPS。
系統吞吐量
單位時間內系統處理請求的數量,體現系統的處理能力。
吞吐量 = (1000/響應時間 ms)x 並發數
系統吞吐量幾個重要參數:QPS(TPS)、並發數、響應時間
-
QPS(TPS):每秒鍾 request/事務 數量
-
並發數: 系統同一時候處理的 request/事務數
-
響應時間: 一般取平均響應時間
壓力測試曲線圖

伴隨着並發數的增加系統響應時長和系統吞吐量表現出不一樣的變化趨勢。
-
綠線代表 CPU 使用情況
-
紅線表示系統吞吐量
-
紫線表示系統響應時間
系統響應時長變化
隨着並發數的增加,系統響應時間的變化可以分為三個階段。
-
第一階段
低負載階段,系統資源利用率很低,系統響應時間隨着並發數增加變化不明顯,也可以理解為並發數增加並未對系統響應時長造成太大影響。
-
第二階段
高負載階段,系統利用率較高,系統響應時長隨着並發數增加出現大幅增長,在此階段並發數對系統響應時長的影響很大,其主要原因是因為系統資源滿載了,請求數量大於 CPU 的核心數,導致進程或者線程不斷切換,響應耗時增大。
-
第二階段
過載階段,系統利用率接近最大,系統過載。由於請求數量遠大於 CPU 核心數量,系統為了處理如此大量的請求,進程(線程)頻繁切換,導致系統響應時長成指數增長
系統吞吐量變化
同系統響應時長,系統吞吐量變化也可以分為三個階段
-
第一階段
低負載階段,系統利用率低,CPU 存在空閑的情況,此時隨着並發數的增加系統吞吐量正比例增加。
-
第二階段
高負載階段,系統利用率達到瓶頸,CPU 核心滿負荷工作,此時出現進程或者線程不斷切換的情況,導致隨着並發數的增加系統吞吐量緩慢增長甚至出現小幅度下降的情況
-
第二階段
過載階段,系統利用率過高,過多的請求導致 CPU 疲於應付,進程(線程)頻繁切換,真正用於處理請求的時間變少,能夠處理的請求數反而變少,系統的吞吐量出現明顯的下降。