今天主要介绍一款高效的性能测试工具wrk。wrk的使用方式和apache bench这些工具也大体相似,通过命令行的方式即可发起。但是wrk比起apache bench更为高效,因为它支持多线程,更容易发挥多核CPU的能力,甚至可以压满CPU。wrk还支持Lua脚本来提供更多的参数定制、参数加密等需求,灵活度更高。
安装
wrk支持大部分UNIX系统,不支持windows系统。安装过程比较简单,从github克隆项目到本地,再在项目路径下make即可,在此就不详述,具体可查看github文档。
基础使用
wrk -t12 -c400 -d30s http://127.0.0.1:80/index.html
以上命令行表示对本地80端口的index.html文件发起请求,压测时间持续30秒,并发12线程,保持400个HTTP连接请求。
输出结果:
Running 30s test @ http://127.0.0.1:80/index.html
12 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 90.43ms 201.95ms 1.99s 88.34%
Req/Sec 1.79k 1.80k 21.57k 89.17%
577891 requests in 30.09s, 188.46MB read
Socket errors: connect 0, read 0, write 0, timeout 37
Non-2xx or 3xx responses: 577891
Re