運維中常見關鍵指標參數
一、關鍵字概述
(1) PV(Page View): 頁面訪問量,即頁面瀏覽量或點擊量,用戶每次刷新即被計算一次
(2) UV(Unique Visitor): 獨立訪客,統計1天內訪問某站點的用戶數(以cookie為依據,如同一個用戶)
(3) QPS(Query Per Second): 每秒請求數,QPS其實是衡量吞吐量的一個常用指標,就是說服務器在一秒的時間內處理了多少個請求。
(4) TPS(Transactions Per Second): 每秒事務數(數據庫中常用)
(5) 并發數: 并發數是指系統同時能處理的請求數量,這個也是反應了系統的負載能力。(例如:nginx 的活動鏈接數)
(6) 吐吞量: 吞吐量是指系統在單位時間內處理請求的數量
(7) 響應時間(RT): 響應時間是指系統對請求作出響應的時間,一般取平均響應時間
二、運算規則,邏輯關系
1. 峰值 QPS 計算方式
- 原理:每天80%的訪問集中在20%的時間里,這20%時間叫做峰值時間
- 公式:( 總PV數 * 80% ) / ( 每天秒數 * 20% ) = 峰值時間每秒請求數(QPS)
2. QPS(TPS)、并發數、響應時間它們三者之間的關系是
公式:
- QPS(TPS)= 并發數 / 平均響應時間
- 并發數 = QPS * 平均
- 響應時間QPS = 總請求數 / ( 進程總數 * 請求時間 )
3. PV 計算帶寬
- PV 統計:nginx日志,一般是對所有訪問日志數量,進行求和統計
- UV 統計:nginx日志,對remote_addr進行統計,排除remote_addr重復值,進行求和統計。
公式:
網站帶寬= PV / 統計時間(換算到S)*平均頁面大小(單位KB)* 8
注意:峰值預估的話,一般是網站帶寬的5倍。
4. PV與并發
并發連接數公式:
并發連接數 = PV / 統計時間 * 頁面衍生連接次數 * http響應時間 * 因數 / web服務器數量
- 頁面衍生連接次數: 一個頁面請求,會有好幾次http連接,如外部的css, js,圖片等,這個根據實際情況而定。
- http響應時間: 平均一個http請求的響應時間,可以使用1秒或更少。
- 因數: 峰值流量 和平均流量的倍數,一般使用5 ,最好根據實際情況計算后得出
單臺服務器每天PV計算
- 公式1:每天總PV = QPS * 3600 * 6
- 公式2:每天總PV = QPS * 3600 * 8
5. 服務器計算
服務器數量 = ( 每天總PV / 單臺服務器每天總PV )
三、案例
案例1:每天300w PV 的在單臺機器上,這臺機器需要多少QPS?,如果一臺機器的QPS是58,需要幾臺機器來支持?
答:
- ( 3000000 * 0.8 ) / (86400 *0.2 ) = 139 (QPS)
- 139 / 58 = 3 臺
案例2:假如 1秒鐘100個請求,處理每個請求需要花2秒,QPS是多少
答:100 / 2= 50 Qps
案例3:10萬PV,頁面派生50個請求、http 1秒響應, 因數:5 倍峰值,求單臺qps
答:10PV的并發連接數: (100000PV / 86400秒 * 50個派生連接數 * 1秒內響應 * 5倍峰值) / 1臺Web服務器 = 289 并發連接數
案例4:假設網站的平均日PV:10w 的訪問量,頁面平均大小0.4 M
答:
- 網站帶寬 = 10w / (24 *60 * 60)* 0.4M * 8 =3.7 Mbps
- 實際帶寬大約在 3.7 Mbps * 5=18.5 Mbps (峰值流量是平均流量的5倍,需要是峰值流量)