wg/wrk 輕量級壓測
說明:環境是 centos,不過現在 centos 免費版本不再更新和維護了,所以大家可以用阿里云的或者用 ubuntu 內核
用的 https://github.com/wg/wrk.git 有 35k star
然后據我了解,windows 用 wrk 壓測有點麻煩,我也試過,把方法,放在最后了
一、安裝 wrk
yum install -y gcc make openssl-devel #安裝編譯工具、openssl開發包以及其他必要的依賴項
git clone https://github.com/wg/wrk.git
cd wrk
make # 編譯
cp wrk /usr/local/bin/ # 將wrk可執行文件移動到系統路徑中,這樣它就可以在任何位置運行,確保`/usr/local/bin/`在系統的`$PATH`環境變量中。
如果沒有 git ,就安裝一下
yum install git
二、開始壓測
wrk -t12 -c400 -d30s http://127.0.0.1:8888/manage/getManageStatisticsAll?x-token=
-t12
:使用12個線程進行測試。-c400
:使用400個并發連接進行測試。-d30s
:運行測試持續30秒。- 參數意思參考:https://github.com/wg/wrk
12 threads and 400 connectionsThread Stats Avg Stdev Max +/- StdevLatency 37.76ms 18.14ms 232.05ms 72.32%Req/Sec 0.89k 159.11 1.56k 69.98%317812 requests in 30.07s, 146.70MB readNon-2xx or 3xx responses: 317812
Requests/sec: 10567.92
Transfer/sec: 4.88MB使用wrk工具進行了HTTP基準測試,使用了12個線程和400個連接。以下是測試結果的一些關鍵指標:平均延遲(Latency):37.76毫秒
延遲標準差(Stdev):18.14毫秒
最大延遲(Max):232.05毫秒
平均請求數(Req/Sec):0.89k(即每秒處理的請求數量為890)
請求數量的標準差(Stdev):159.11
最大請求數(Max):1.56k(即最多每秒處理1560個請求)
總請求數:317,812
總傳輸數據量:146.70MB
非2xx或3xx響應的請求數:317,812(即所有請求都返回了非成功的狀態)
根據測試結果,平均每秒處理的請求數為10,567.92,傳輸速率為4.88MB/s。
windows 版本用 wrk
在Windows上使用wrk工具進行基準測試需要進行一些額外的步驟。以下是在Windows上使用wrk的一般步驟:安裝依賴項:Visual C++ Redistributable for Visual Studio 2015:您可以從Microsoft的官方網站下載并安裝此依賴項。
OpenSSL:您可以從https://slproweb.com/products/Win32OpenSSL.html下載并安裝適用于您的Windows版本的OpenSSL。
下載wrk源代碼:訪問wrk的GitHub倉庫:https://github.com/wg/wrk
點擊"Code"按鈕,然后選擇"Download ZIP"來下載wrk的源代碼。
解壓縮wrk源代碼:將下載的ZIP文件解壓縮到您選擇的目錄中。
構建wrk:打開命令提示符或PowerShell,并導航到wrk源代碼目錄。運行以下命令來構建wrk:Copy
cd wrk-master
cmake -B build -DCMAKE_BUILD_TYPE=Release .
cmake --build build --config Release
構建完成后,您將在wrk-master\build\Release目錄中找到生成的wrk可執行文件。運行wrk:在命令提示符或PowerShell中,導航到生成的wrk可執行文件所在的目錄。使用類似于以下命令的語法運行wrk:Copy
wrk.exe -t12 -c400 -d30s http://example.com
將http://example.com替換為您要測試的目標URL。