linux統計qps、qpm、響應時間的命令
awk '{a[$4]++}END{for(i in a){print i" "a[i]}}' * |sort -nrk2
求qps
awk '{print $4}' prod* | cut -c12-19 | awk '{a[$1]++}END{for(i in a){print i" "a[i]}}' | sort -nrk2
求qpm
awk '{print $4}' prod* | cut -c12-16 | awk '{a[$1]++}END{for(i in a){print i" "a[i]}}' | sort -nrk2
第二列相加
grep 18:03: qps.txt | awk '{sum+=$2}END{print sum}'
求nginx響應時間平均值
grep 00:11:43 prod* | awk '{sum+=$13}END{print sum/NR}'
--------------------------------------------------------------------------------------------------------
資料與能力:資料表示系統執行情況,能力表示系統最大處理能力
最大能力通過壓力測試得出
系統執行情況通過日常生產執行監控得出
系統併發有很多維度:併發連線數、併發使用者數、併發請求數
併發數通常指併發連線數
1、qps:每秒查詢率,每秒處理的查詢請求數,常用來衡量系統能力
2、tps:每秒處理的事務,
說法一:一個頁面從發起請求到響應算一個事務,每秒處理的頁面請求數
說法二:某幾步操作的集合,如一次登入過程,商品的一次支付過程看成事務
說法三:同qps,每秒處理的請求-響應數
3、吞吐率(Throughput):
說法一:(同qps)單位時間內伺服器處理的請求數,單位“req/s”,用來描述其併發處理能力
說法二:單位時間內網路上傳輸的資料量,單位“位元組數/秒”
吞吐量:在一次效能測試過程中網路上傳輸的資料量的總和
用吞吐量來衡量一個系統的輸出能力是極其不準確的,需要看吞吐率
最大執行緒數的瓶頸(銀行視窗,客戶辦理業務填寫資料)
qps、併發數設定的合理值
櫃檯辦理業務,每個人辦理業務需要填寫資料,最多排隊數
執行資料
qps = 併發數 / 平均響應時間(s)
統計
--------------------------------------------------------------------------
awk '{print $4}' access.log
2017-05-03T00:04:20+08:00
2017-05-03T00:04:20+08:00
2017-05-03T00:04:20+08:00
2017-05-03T00:04:20+08:00
--------------------------------------------------------------------------
awk '{print $4}' access.log.8080 | cut -c12-19
00:16:24
00:16:24
00:16:24
00:16:24
--------------------------------------------------------------------------
awk '{print $4}' access.log.8080 | cut -c12-19 | sort | uniq -c
15 17:35:56
33 17:35:57
25 17:35:58
26 17:35:59
--------------------------------------------------------------------------
awk '{print $4}' access.log.8080 | cut -c12-19 | sort | uniq -c | sort -nr
142 00:05:21
125 07:32:41
118 10:24:43
118 00:10:29