wrk HTTP基准测试工具 安装

110 阅读1分钟

wrk是一种现代HTTP基准测试工具,当在单个多核CPU上运行时,能够产生大量负载。它结合了多线程设计和可扩展的事件通知系统,例如epoll和kqueue。
可选的LuaJIT脚本可以执行HTTP请求生成,响应处理和自定义报告。SCRIPTING中提供了详细信息,scripts /中提供了一些示例。

基本用法
wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html
它使用12个线程并保持400个HTTP连接打开的状态下运行30秒的基准测试。

CentOS / RedHat / Fedora安装

sudo yum groupinstall -y 'Development Tools'
sudo yum install -y openssl-devel git 
git clone https://github.com/wg/wrk.git wrk
cd wrk
make
# move the executable to somewhere in your PATH
sudo cp wrk /somewhere/in/your/PATH

测试命令

wrk -t12 -c400 -d30s --latency http://www.baidu.com

测试报告

Running 30s test @ http://www.baidu.com (压测时间30s)
  12 threads and 400 connections (共12个测试线程,400个连接)
			  (平均值) (标准差)  (最大值)(正负一个标准差所占比例)
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    (延迟)
    Latency   386.32ms  380.75ms   2.00s    86.66%
    (每秒请求数)
    Req/Sec    17.06     13.91   252.00     87.89%
  Latency Distribution (延迟分布)
     50%  218.31ms
     75%  520.60ms
     90%  955.08ms
     99%    1.93s 
  4922 requests in 30.06s, 73.86MB read (30.06s内处理了4922个请求,耗费流量73.86MB)
  Socket errors: connect 0, read 0, write 0, timeout 311 (发生错误数)
Requests/sec:    163.76 (QPS 163.76,即平均每秒处理请求数为163.76)
Transfer/sec:      2.46MB (平均每秒流量2.46MB)

参考资料

github.com/wg/wrk
github.com/wg/wrk/wiki…
www.cnblogs.com/quanxiaoha/…