1. 安装教程
1.1 下载安装包
cd /usr/local/
git clone https://github.com/wg/wrk.git wrk
1.2 安装
cd wrk
make
1.3 全局可用
cp wrk /usr/local/bin
1.4 验证
wrk -v
2. 使用教程
- wrk -c200 -t8 -d10s --latency http://127.0.0.1:8083/index.php
这条命令表示,利用 wrk 对 http://127.0.0.1:8083/index.php 发起压力测试,
线程数为 8,模拟 200 个并发请求,持续 10 秒。
2.1 使用参数说明
使用方法: wrk <选项> <被测HTTP服务的URL> Options:
-c, --connections 跟服务器建立并保持的TCP连接数量
-d, --duration 压测时间
-t, --threads 使用多少个线程进行压测
-s, --script 指定Lua脚本路径
-H, --header 为每一个HTTP请求添加HTTP头
-L, --latency 在压测结束后,打印延迟统计信息
-T, --timeout 超时时间
-v, --version 打印正在使用的wrk的详细版本信息
代表数字参数,支持国际单位 (1k, 1M, 1G)
代表时间参数,支持时间单位 (2s, 2m, 2h)
2.2 结果参数说明
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)