基准测试工具-wrk / wrk2 / ab
wrk
简介
wrk 是一个HTTP基准测试工具,当在单核CPU上运行时能够产生显著的负载。它将多线程设计与可扩展的事件通知系统(如epoll和kqueue)相结合。
可选的LuaJIT脚本可以执行HTTP请求生成、响应处理和自定义报告。
安装
mac下安装
1 |
|
linux下安装
教程
1 |
|
测试服务的最大QPS
通过-R参数获取吞吐量参数 每秒请求量的结果
1 |
|
从以上的测试过程中可以看出,服务最大的每秒请求量为13000,可见性能压测的QPS为1.3万左右,考虑本机测试性能损耗问题,即QPS>1.2万
TODO
wrk2
简介
wrk2 是对 wrk 进行了改进,以产生恒定的吞吐量负载,并将延迟细节精确到高9(即,当运行足够长的时间时,可以产生精确的99.9999%)。除了wrk的参数外,wrk2还通过–rate或-R参数(默认值为1000)获取吞吐量参数(以每秒请求总数为单位)。
安装
教程
ab - Apache HTTP server benchmarking tool
简介
安装
教程
总结
- wrk 默认使用的是http1.1,会使用连接复用,其中-c参数并不会每次发请求都会重新进行建立tcp连接,所以测试的数据需要注意这一块。
- ab 缺省会每次都新建请求连接来进行测试,如果需要保持长连接需要加入 -k 参数。
资料
基准测试工具-wrk / wrk2 / ab
https://mikeygithub.github.io/2024/02/09/yuque/基准测试工具-wrk!wrk2!ab/