0x01 前言
在這以前想必你們對ab(http)與abs(https)也有一些瞭解,咱們今天不去看ab和abs,SuperBenchmarker(sb.exe)是一個壓測工具,他是一個受Apache Benchmark的啓發,他會在終端窗口爲咱們顯示最終的結果,同時也會在web界面生成一個動態結果。SuperBenchmarker(sb.exe)能夠在Windows或者Mac上運行(還沒有在Linux上進行測試),他能夠安裝在.NET4.52+或者.NET Core2.0+。html
0x02 安裝
咱們能夠直接拉取源代碼進行構建ios
git clone https://github.com/aliostad/SuperBenchmarker cd SuperBenchmarker ./build.sh
0x03 參數
0x04 運行
dotnet ./src/SuperBenchmarker/bin/Debug/netcoreapp2.0/SuperBenchmarker.dll -u https://baidu.com -N 10
以下所示:git
經過以下結果圖咱們能夠看到吞吐率(RPS)和總請求數量(requests)、最大處理時長、最小處理時長、平均時長等信息github
TPS吞吐量請求數/請求響應的時間(s) ,即每秒請求數,對應 Request per second
響應時間:請求發送到接受到請求的時間差,單位爲ms,通常看90%的響應時間
併發鏈接數:每秒服務器端能處理的鏈接數。併發鏈接數 = 吞吐量*響應時間web
TPS和QPS區別
QPS:Queries Per Second,意思是「每秒查詢率」,是一臺服務器每秒可以響應的查詢次數,是對一個特定的查詢服務器(好比是讀寫分離的架構,就是讀的服務器)在規定時間內所處理流量多少的衡量標準。bash
TPS:TransactionsPerSecond,意思是每秒事務數,一個事務是指一個客戶機向服務器發送請求而後服務器作出反應的過程。客戶機在發送請求時開始計時,收到服務器響應後結束計時,以此來計算使用的時間和完成的事務個數。服務器
QPS計算cookie
QPS = req/sec = 請求數/秒架構
【QPS計算PV和機器的方式】併發
QPS統計方式 [通常使用 http_load 進行統計]
QPS = 總請求數 / (進程總數 * 請求時間)
QPS: 單個進程每秒請求服務器的成功次數
單臺服務器天天PV計算
公式1:天天總PV = QPS * 3600 * 6
公式2:天天總PV = QPS * 3600 * 8
服務器計算
服務器數量 = ceil(天天總PV / 單臺服務器天天總PV)
【峯值QPS和機器計算公式】
原理:天天80%的訪問集中在20%的時間裏,這20%時間叫作峯值時間
公式:(總PV數 * 80%) / (天天秒數 * 20%) = 峯值時間每秒請求數(QPS)
機器:峯值時間每秒QPS / 單臺機器的QPS = 須要的機器
問:天天300w PV 的在單臺機器上,這臺機器須要多少QPS?
答:(3000000 * 0.8) / (86400 * 0.2) = 139 (QPS)
問:若是一臺機器的QPS是58,須要幾臺機器來支持?
答:139 / 58 = 3
Reference
http://www.javashuo.com/article/p-vczsriru-ch.html
https://github.com/aliostad/SuperBenchmarker
http://www.javashuo.com/article/p-mtfdjqgc-ep.html