wrk壓力測試工具
釋出時間:2020-08-29 23:22:54
來源:51CTO
閱讀:2303
作者:okowo
wrk安裝
Mac下安裝:brew install wrk
即可安裝成功,進入wrk目錄/usr/local/Cellar/wrk/4.0.2/bin,執行wrk指令即可
簡單的性能測試bin git:(master) wrk -t12 -c100 -d30s http://weibo.com
Running 30s test @ http://weibo.com
12 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 55.09ms 95.37ms 1.47s 90.01%
Req/Sec 271.78 122.50 626.00 66.39%
95509 requests in 30.08s, 55.70MB read
Socket errors: connect 0, read 0, write 0, timeout 1
Requests/sec: 3175.48
Transfer/sec: 1.85MB-t12 為模拟12個使用者線程 -c100模拟100個連接配接
3. 統計分析項目名稱說明Avg平均值每次測試的平均值
Stdev标準偏差結果的離散程度,越高說明越不穩定
Max最大值最大的一次結果
+/- Stdev正負一個标準差占比結果的離散程度,越大越不穩定
Latency: 可以了解為響應時間
Req/Sec: 每個線程每秒鐘的完成的請求數
一般我們來說我們主要關注平均值和最大值.
标準差如果太大說明樣本本身離散程度比較高. 有可能系統性能波動很大
4.wrk Post接口測試
首先需要準備一個lua檔案wrk.method = "POST"
wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"
wrk.body = "youbody&youset"
這個檔案内容建議自己填寫,儲存為 post.lua 檔案當然這個腳本内容可以再次定義,具體檢視wrk的git文檔
執行腳本wrk -t4 -c2000 -d60s -T5s --script=post.lua --latency http://192.168.31.107/user/login
這樣就是模拟4個線程,2000個連接配接,在60s内,間隔5s 執行 post.lua 的請求你可以擴充一下,制作 shell 腳本來批量測試各種接口