1. 程式人生 > 其它 >壓力測試概念及方法(TPS/併發量)

壓力測試概念及方法(TPS/併發量)

1 壓力測試中的指標
1.1 TPS
TPS 即Transactions Per Second的縮寫,每秒處理的事務數目。一個事務是指一個客戶機向伺服器傳送請求而後伺服器作出反應的過程(完整處理,即客戶端發起請求到獲得響應)。客戶機在傳送請求時開始計時,收到伺服器響應後結束計時,以此來計算使用的時間和完成的事務個數,最終利用這些資訊做出的評估分。一個事務可能對應多個請求,能夠參考下資料庫的事務操做。資料庫

1.2 QPS
QPS 即Queries Per Second的縮寫,每秒能處理查詢數目(完整處理,即客戶端發起請求到獲得響應)。是一臺伺服器每秒可以相應的查詢次數,是對一個特定的查詢伺服器在規定時間內所處理流量多少的衡量標準。
咱們從它的英文全名能夠得出它是查詢意思,原來在因特網上,做為域名系統伺服器的機器的效能常常用每秒查詢率來衡量。對應fetches/sec,即每秒的響應請求數。 雖然名義上是查詢的意思,但實際上,如今習慣於對單一介面服務的處理能力用QPS進行表述(即便它並非查詢操做)。express

1.3 平均處理時間(RT)
RT:響應時間,處理一次請求所須要的平均處理時間。
咱們通常還會關注90%請求的的平均處理時間,由於可能因網路狀況出現極端狀況。伺服器

1.4 併發使用者數(併發量)
每秒對待測試介面發起請求的使用者數量。網路

1.5 換算關係
QPS = 併發數/平均響應時間
併發量 = QPS * 平均響應時間併發

好比3000個使用者(併發量)同時訪問待測試介面,在使用者端統計,3000個使用者平均獲得響應的時間為1188.538ms。因此QPS=3000/1.188538s= 2524.11 q/s。
咱們就能夠這樣描述本次測試,在3000個併發量的狀況下,QPS為2524.11,平均響應事件為1188.538ms框架

1.5 TPS和QPS的區別
這個問題開始,我認為這二者應該是同一個東西,但在知乎上看到他們的英文名,如今我認為:
QPS 每秒能處理查詢數目,但如今通常也用於單服務介面每秒能處理請求數。
TPS 每秒處理的事務數目,若是完成該事務僅為單個服務介面,咱們也能夠認為它就是QPS。svg

PS:還有一個RPS的的概念 request per second 。每秒請求數,在必定條件下和QPS 和TPS相似。工

http://www.javashuo.com/article/p-rzitwtdu-en.html