WRK 编译安装
没有找到 yum 源, 这里记录 wrk 的安装过程
安装
# 1. 切换到待安装的目录
cd /usr/local/src
# 2. 免提示(-y), 安装 git
yum install git -y
# 3. 下载 wrk 源码
git clone https://github.com/wg/wrk.git
# 4. 进入安装文件夹
cd wrk
# 5. 下载 gcc 编译器, 并编译
yum -y install gcc
make
# 6. 创建软连接, 方便全局调用
ln -s /usr/local/src/wrk/wrk /usr/local/bin
使用
- 基础使用
使用 12 个线程, 保持 400 HTTP 连接持续运行三十秒.
wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html
结果类似如下:
Running 30s test @ http://127.0.0.1:8080/index.html
12 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 635.91us 0.89ms 12.92ms 93.69%
Req/Sec 56.20k 8.07k 62.00k 86.54%
22464657 requests in 30.00s, 17.76GB read
Requests/sec: 748868.53
Transfer/sec: 606.33MB
- 参数说明
短参数 | 长参数 | 描述 |
---|---|---|
-c | –connections | 保持开启的总连接数, 每个线程均摊服务 |
-d | –duration | 持续时间, 比如: 2s, 2m, 2h |
-t | –threads | 被使用的总线程数 |
-s | –script | LuaJIT script, see SCRIPTING |
-H | –header | HTTP 请求头, 比如: “User-Agent: wrk” |
–latency | 打印详细的延迟统计信息 | |
–timeout | 记录超时的响应报文 |
-
建议
- 运行 wrk 的设备需要有足够的空闲端口, 被关闭的套接字需要迅速的被回收利用.
- 仅更改 HTTP 请求方法, 路径, 添加 header 或 body 并不影响性能.
- 请求操作, 尤其是新建立的请求, 使用 response() 必然能减少负载量.
鸣谢 WRK.