wrk 性能测试工具使用
安装地址
Win:https://github.com/wg/wrk/wiki/Installing-wrk-on-Windows-10
Linux:https://github.com/wg/wrk/wiki/Installing-wrk-on-Linux
MacOS:brew install wrk
一、安装
linux
Ubuntu / Debian(干净的盒子)
sudo apt-get install build-essential libssl-dev git -y
git clone https://github.com/wg/wrk.git wrk
cd wrk
make # 执行后会生成wrk可执行文件
#将可执行文件移动到PATH中的某个位置,例如:
sudo cp wrk / usr / local / bin
上面安装了构建工具,打开ssl dev libs(包括头文件)和git。然后使用git下载wrk并从中构建它。
CentOS / RedHat / Fedora
sudo yum groupinstall '开发工具'
sudo yum install -y openssl-devel git
git clone https://github.com/wg/wrk.git wrk
cd wrk
使
#将可执行文件移动到PATH
sudo cp wrk / somewhere / in / your / PATH中的某个位置
安装构建工具,打开ssl dev libs(包括头文件)和git。然后使用git下载wrk并构建。
Windows
wrk可以通过“Windows的Linux子系统”功能在Windows 10机器上使用(在Windows上的Ubuntu上也称为Bash)。
打开Windows 10计算机的“开发人员模式”。
在“打开或关闭Windows功能”中打开“Windows Subsystem for Linux”功能。
在命令行中运行“bash”命令。将安装Ubuntu映像,并且很快就可以在Windows中运行。
遵循Linux安装步骤,但sudo make不仅仅是运行make
macos
brew install wrk
二、基本语法
-c, --connections: 需要打开的HTTP连接的总数
每个线程处理N =连接/线程
-d, --duration: 测试持续时间,如2s, 2m, 2h
-t, --threads: 要使用的线程总数
-s, --script: LuaJIT脚本,参见脚本
-H, --header: 添加到请求中的HTTP报头。“用户代理:wrk”
--latency: 打印详细的延迟统计信息
--timeout: 如果内部未接收到响应,则记录超时
this amount of time.
例: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
三、基准提示
运行wrk的机器必须有足够数量的短暂端口,并且应该快速回收关闭的插座。要处理初始连接突发,服务器的listen(2)backlog应该大于正在测试的并发连接数。
仅更改HTTP方法,路径,添加标头或正文的用户脚本不会对性能产生影响。每个请求的操作,特别是构建新的HTTP请求,以及使用response(),必然会减少可以生成的负载量。