壓測工具之wrk安裝及使用

安裝

通過git編譯安裝

#下載wrk
git clone https://github.com/wg/wrk
#進入目錄
cd wrk
#編譯
make

通過git直接下載

git clone https://github.com/wg/wrk.git

mac自動安裝

brew install wrk

基本用法

需在wrk目錄下執行

./wrk -t8 -c100 -d10s   http://192.168.0.184:30001/gwmanager  --latency

-t:啓動線程數,一般爲cpu核*2,可以根據IO或cpu密集型進行調整
-c: 併發數,平分到每個線程中,熟練不能大於可以用TCP端口數
-d: 持續請求時間

--latency:顯示延時分佈 ,"Latency Distribution"部分。

Running 10s test @ http://192.168.0.184:30001/gwmanager
  8 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    27.41ms   28.46ms  89.75ms   75.26%
    Req/Sec   626.35     70.19     1.22k    86.62%
  Latency Distribution
     50%    6.71ms
     75%   54.47ms
     90%   79.40ms
     99%   83.89ms
  49908 requests in 10.01s, 7.19MB read
Requests/sec:   4985.86
Transfer/sec:    735.26KB

Latency:響應時間

Req/Sec:單個線程處理請求數

Avg:平均值

Stdev:標準差,值越大說明數據分佈均勻,可能是機器或服務性能不穩定導致。

Max:最大值

+/- Stdev:正負標準差比例,差值比標準差大或小的數據比率

Latency Distribution:延時分佈多少ms一下請求數比例

Requests/sec:平均每秒處理請求數

Transfer/sec:平均每秒傳輸數據量

 

其他參數

-H:添加header頭

 注:冒號後面必須有一個空格,否則無法獲取header

./wrk  -t2 -c200 -d10s -H "token: oiSldU" -H "sign: sdsds" http://192.168.0.184:30001/token

--script:添加複雜請求參數,lua腳本 ,或使用  -s:

./wrk -t8 -c100 -d10s   http://192.168.0.184:30001/gwmanager --script=test.lua

 

./wrk -t8 -c100 -d10s   http://192.168.0.184:30001/gwmanager -s test.lua

test.lua: 

wrk.method = "POST"
wrk.body = "name=123"  
wrk.headers["token"] = "xxxxxxxx"

動態參數

#動態header
request = function()
   uid = math.random(1, 10000000)
   wrk.headers["token"] = uid
   return wrk.format(nil, nil, headers, nil)
end
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章