性能測試常用概念及計算公式
一、概念
1、並發連接數-SBC(Simultaneous Browser Connections)
並發連接數指的是客戶端向服務器發起請求,並建立了TCP連接。每秒鍾服務器鏈接的總TCP數量,就是並發連接數。
2、請求數-QPS(Query Per Second)/RPS(Request Per Second)
請求數有2個縮寫,可以叫QPS也可以叫RPS。單位是每秒多少請求。Query=查詢,也相當於請求。請求數指的是客戶端在建立完連接后,向http服務發出GET/POST/HEAD數據包,服務器返回了請求結果后有兩種情況:
- http數據包頭包含Close字樣,關閉本次TCP連接;
- http數據包頭包含Keep-Alive字樣,本次連接不關閉,可繼續通過該連接繼續向http服務發送請求,用於減少TCP並發連接數。
3、並發用戶數
並發用戶數量,有兩種常見的錯誤觀點。一種錯誤觀點是把並發用戶數量理解為使用系統的全部用戶的數量,理由是這些用戶可能同時使用系統;還有一種比 較接近正確的觀點是把用戶在線數量理解為並發用戶數量。實際上,在線用戶不一定會和其他用戶發生並發,例如正在瀏覽網頁的用戶,對服務器是沒有任何影響 的。但是,用戶在線數量是統計並發用戶數量的主要依據之一。
二、計算公式
1、最大在線用戶數=WEB支持的最大連接數*session過期時間/http連接保持時間
2、估算用戶 = 測試用戶 x (事務反應時間 + 實際用戶操作延遲時間)/事務反應時間
5、磁盤有兩個重要的參數: Seek time和Rotational latency。正常的I/O計數為:①1000/(Seek time+Rotational latency)*0.75,在此范圍內屬正常。
6、QPS:每秒查詢率(Query Per Second) ,每秒的響應請求數,也即是最大吞吐能力。
QPS = req/sec = 請求數/秒
QPS統計方式 [一般使用 http_load 進行統計]
QPS = 總請求數 / ( 進程總數 * 請求時間 )
QPS: 單個進程每秒請求服務器的成功次數
7、峰值QPS:原理:每天80%的訪問集中在20%的時間里,這20%時間叫做峰值時間
公式:( 總PV數 * 80% ) / ( 每天秒數 * 20% ) = 峰值時間每秒請求數(QPS)
8、PV:訪問量即Page View, 即頁面瀏覽量或點擊量,用戶每次刷新即被計算一次
單台服務器每天PV計算
公式1:每天總PV = QPS * 3600 * 6
公式2:每天總PV = QPS * 3600 * 8
9、UV:獨立訪客即Unique Visitor,訪問您網站的一台電腦客戶端為一個訪客。00:00-24:00內相同的客戶端只被計算一次服務器數量:
機器:峰值時間每秒QPS / 單台機器的QPS = 需要的機器
機器:ceil( 每天總PV / 單台服務器每天總PV )