wrk安裝java
Mac下安裝:brew install wrkgit
便可安裝成功,進入wrk目錄/usr/local/Cellar/wrk/4.0.2/bin,執行wrk命令便可shell
簡單的性能測試app
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個鏈接ide
3. 統計分析post
項目 | 名稱 | 說明 |
---|---|---|
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
文件url
固然這個腳本內容能夠再次定義,具體查看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 腳原本批量測試各類接口