《wrk 压测工具安装与配置》
1 简介
wrk 是一个基于 LuaJIT 的高性能 HTTP 压测工具,线程模型下单个线程可以维持大量连接,并可借助 Lua 脚本扩展请求构造逻辑,适合对服务做高并发压力测试。
2 安装
2.1 Debian / Ubuntu
apt-get install build-essential libssl-dev git -y
git clone https://github.com/wg/wrk.git wrk
cd wrk
make -j`nproc`
# 把生成的 wrk 移动到 PATH 目录下
cp wrk /usr/local/bin
2.2 CentOS
sudo yum groupinstall 'Development Tools'
sudo yum install -y openssl-devel git
git clone https://github.com/wg/wrk.git wrk
cd wrk
make
# 把可执行文件移动到 PATH 目录下
sudo cp wrk /usr/local/bin
3 命令行选项
Usage: wrk <options> <url>
Options:
-c, --connections <N> Connections to keep open # 总连接数(并发数)
-d, --duration <T> 测试时长,如 2s、2m、2h
-t, --threads <N> 线程数
-s, --script <S> 加载 Lua 脚本文件
-H, --header <H> 添加请求头,如 "User-Agent: wrk"
--latency 打印延迟统计
--timeout <T> 请求超时时间
-v, --version 打印版本
4 基本压测
# 100 个连接、4 线程、持续 10 秒
./wrk -t 4 -c 100 -d 10s http://example.com/
# 附带延迟统计
./wrk -t 4 -c 100 -d 10s --latency http://example.com/
5 通过 header 模拟代理访问
在请求头中覆盖 host 字段,即可把流量打到指定后端:
wrk --timeout 10s -t 2 -c 10 -d 1s \
-H "host: example.com" http://127.0.0.1/
6 参考文档
阅读 —
·
全站 —