qps:queries per second意思是「每秒查詢率」,是一台伺服器每秒能夠相應的查詢次數,是對乙個特定的查詢伺服器在規定時間內所處理流量多少的衡量標準。網際網路中,作為網域名稱系統伺服器的機器的效能經常用每秒查詢率來衡量。
tps:是transactionspersecond的縮寫,也就是事務數/秒。它是軟體測試結果的測量單位。乙個事務是指乙個客戶機向伺服器傳送請求然後伺服器做出反應的過程。客戶機在傳送請求時開始計時,收到伺服器響應後結束計時,以此來計算使用的時間和完成的事務個數。qps vs tps:qps基本類似於tps,但是不同的是,對於乙個頁面的一次訪問,形成乙個tps;但一次頁面請求,可能產生多次對伺服器的請求,伺服器對這些請求,就可計入「qps」之中。如,訪問乙個頁面會請求伺服器2次,一次訪問,產生乙個「t」,產生2個「q」。
併發數是指系統同時能處理的請求數量,這個也是反應了系統的負載能力。
系統的吞吐量(承壓能力)與request對cpu的消耗、外部介面、io等等緊密關聯。單個request 對cpu消耗越高,外部系統介面、io速度越慢,系統吞吐能力越低,反之越高。系統吞吐量幾個重要引數:qps(tps)、併發數、響應時間。
qps(tps):(query per second)每秒鐘request/事務 數量
併發數: 系統同時處理的request/事務數
理解了上面三個要素的意義之後,就能推算出它們之間的關係:
我們通過乙個例項來把上面幾個概念串起來理解。按二八定律來看,如果每天 80% 的訪問集中在 20% 的時間裡,這 20% 時間就叫做峰值時間。
1、每天300w pv 的在單台機器上,這台機器需要多少qps?
( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (qps)
2、如果一台機器的qps是58,需要幾台機器來支援?
139 / 58 = 3
1、單執行緒qps公式:qps=1000ms/rt
對同乙個系統而言,支援的執行緒數越多,qps越高。假設乙個rt是80ms,則可以很容易的計算出qps,qps = 1000/80 = 12.5
多執行緒場景,如果把服務端的執行緒數提公升到2,那麼整個系統的qps則為 2*(1000/80) = 25, 可見qps隨著執行緒的增加而線性增長,那qps上不去就加執行緒唄,聽起來很有道理,公司也說的通,但是往往現實並非如此。
2、qps和rt的真實關係
我們想象的qps、rt關係如下
實際的qps、rt關係如下
3、最佳執行緒數量
剛好消耗完伺服器的瓶頸資源的臨界執行緒數,公式如下
最佳執行緒數量=((執行緒等待時間+執行緒cpu時間)/執行緒cpu時間)* cpu數量
特性:
什麼是吞吐量
計算機範疇下的吞吐量 定義 吞吐量是指在沒有幀丟失的情況下,裝置能夠接受的最大速率。1 吞吐量的大小主要由防火牆內網絡卡,及程式演算法的效率決定,尤其是程式演算法,會使防火牆系統進行大量運算,通訊量大打折扣。因此,大多數防火牆雖號稱100m防火牆,由於其演算法依靠軟體實現,通訊量遠遠沒有達到100m...
QPS TPS RT 併發數 吞吐量理解
在了解qps tps rt 併發數之前,首先我們應該明確乙個系統的吞吐量到底代表什麼含義,一般來說,系統吞吐量指的是系統的抗壓 負載能力,代表乙個系統每秒鐘能承受的最大使用者訪問量。乙個系統的吞吐量通常由qps tps 併發數來決定,每個系統對這兩個值都有乙個相對極限值,只要某一項達到最大值,系統的...
什麼是QPS,TPS,吞吐量
1 tps transactions per second 每秒傳輸的事物處理個數 即伺服器每秒處理的事務數。tps包括一條訊息入和一條訊息出,加上一次使用者資料庫訪問。業務tps caps 每個呼叫平均tps tps是軟體測試結果的測量單位。乙個事務是指乙個客戶機向伺服器傳送請求然後伺服器做出反應...