一榴捡、QPS(每秒查詢)
QPS(Queries Per Second):表示“每秒查詢率”,指一臺服務器每秒能夠相應的查詢次數朱浴,是對一個特定的查詢服務器在規(guī)定時間內所處理流量多少的衡量標準吊圾。
二、TPS(每秒事務)
TPS(Transaction Per Second):表示每秒的事務數翰蠢,指軟件測試的測量單位项乒。這其中一個事務是指一個客戶端向服務器發(fā)送請求然后服務器做出反應的過程。TPS的一個完整計時周期是客戶機在發(fā)送請求時開始計時梁沧,收到服務器的響應后結束計時檀何,以此來統(tǒng)計相應時間內的完成事務的個數即TPS,即每秒完成的事務數量趁尼。
三埃碱、RT(響應時間)
RT(Response Time):表示響應時間猖辫,指執(zhí)行一個請求從開始到最后收到響應數據花費的總體時間酥泞,即從客戶端發(fā)起請求到收到服務器響應結果的時間。因此RT直接代表了服務系統(tǒng)的快慢啃憎,是線上服務最重要的指標之一芝囤,直接關聯(lián)著用戶體驗。
四辛萍、并發(fā)數
并發(fā)數是指系統(tǒng)同時能處理的請求數量悯姊,直接反映了系統(tǒng)的負載能力
五、吞吐量
系統(tǒng)的吞吐量(承壓能力)與request對CPU的消耗贩毕、外部接口和IO讀寫等等有密切的關聯(lián)悯许,單個request對CPU的消耗越高,IO速度越慢和對外部接口的依賴越多辉阶,就會導致系統(tǒng)吞吐率越低先壕,反之則越高。
系統(tǒng)吞吐量幾個重要參數:QPS(TPS)谆甜、并發(fā)數垃僚、響應時間。
QPS(TPS):每秒鐘request/事務 數量
并發(fā)數: 系統(tǒng)同時處理的request/事務數
響應時間: 一般取平均響應時間
六规辱、最佳線程數谆棺、QPS、RT
1罕袋、單線程QPS公式:QPS=1000ms/RT
對同一個系統(tǒng)而言改淑,支持的線程數越多碌尔,QPS越高骡显。假設一個RT是80ms,則可以很容易的計算出QPS,QPS = 1000/80 = 12.5
多線程場景,如果把服務端的線程數提升到2,那么整個系統(tǒng)的QPS則為 2*(1000/80) = 25, 可見QPS隨著線程的增加而線性增長豪治,那QPS上不去就加線程唄,聽起來很有道理棚壁,公司也說的通齿尽,但是往往現實并非如此。
2亮元、最佳線程數量
剛好消耗完服務器的瓶頸資源的臨界線程數猛计,公式如下
最佳線程數量=((線程等待時間+線程cpu時間)/線程cpu時間)* cpu數量
特性:
在達到最佳線程數的時候,線程數量繼續(xù)遞增爆捞,則QPS不變奉瘤,而響應時間變長,持續(xù)遞增線程數量煮甥,則QPS開始下降盗温。
每個系統(tǒng)都有其最佳線程數量,但是不同狀態(tài)下成肘,最佳線程數量是會變化的卖局。
瓶頸資源可以是CPU,可以是內存,可以是鎖資源双霍,IO資源:超過最佳線程數-導致資源的競爭砚偶,超過最佳線程數-響應時間遞增。