HTTP压力测试工具
在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug,同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求,节约资源成本。
压测相关术语
- 响应时间(RT) :指系统对请求作出响应的时间.
- 吞吐量(Throughput) :指系统在单位时间内处理请求的数量
- QPS每秒查询率(Query Per Second) :“每秒查询率”,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
- TPS(TransactionPerSecond):每秒钟系统能够处理的交易或事务的数量
- 并发连接数:某个时刻服务器所接受的请求总数
wrk
wrk 是一款开源的HTTP性能测试工具,它和上面提到的ab同属于HTTP性能测试工具,它比ab功能更加强大,可以通过编写lua脚本来支持更加复杂的测试场景。
Mac下安装:brew install wrk
常用命令参数:
1 | -c --conections:保持的连接数 |
使用示例:wrk -t1 -c10 -d300s -s test.lua --latency http://127.0.0.1:8080/api/v1/posts?size=10
输出结果:
1 | Running 30s test @ http://127.0.0.1:8080/api/v1/posts?size=10 |
test.lua 代码
1 | wrk.method = "POST" |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 博客!