wrk壓力測試工具

  1. wrk安裝java

    Mac下安裝:brew install wrkgit

    便可安裝成功,進入wrk目錄/usr/local/Cellar/wrk/4.0.2/bin,執行wrk命令便可shell

  2. 簡單的性能測試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

首先須要準備一個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 腳原本批量測試各類接口

相關文章
相關標籤/搜索