go-wrk
15.go-wrk压测
01.压测介绍
1.1 压测作用
- 在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug
- 同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求,节约资源成本。
1.2 压测相关术语
- 响应时间(RT) :指系统对请求作出响应的时间.
- 吞吐量(Throughput) :指系统在单位时间内处理请求的数量
- QPS每秒查询率(Query Per Second) :“每秒查询率”,是一台服务器每秒能够响应的查询次数
- 是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
- TPS(TransactionPerSecond):每秒钟系统能够处理的交易或事务的数量
- 并发连接数:某个时刻服务器所接受的请求总数
02.压力测试工具
2.1 ab
- ab全称Apache Bench,是Apache自带的性能测试工具。
- 使用这个工具,只须指定同时连接数、请求数以及URL,即可测试网站或网站程序的性能。
- 通过ab发送请求模拟多个访问者同时对某一URL地址进行访问,可以得到每秒传送字节数、每秒处理请求数、每请求处理时间等统计数据。
- 命令格式:
- 常用参数如下:
- 更多参数请查看官方文档 (opens new window)。
- 例如测试某个GET请求接口:
- 测试POST请求接口:
2.2 wrk
- 是一款开源的HTTP性能测试工具,它和上面提到的
ab
同属于HTTP性能测试工具 - 它比
ab
功能更加强大,可以通过编写lua脚本来支持更加复杂的测试场景。 - Mac下安装
- 常用命令参数:
- 使用示例:
- 输出结果:
2.3 go-wrk
- 是Go语言版本的
wrk
- Windows同学可以使用它来测试,使用如下命令来安装
go-wrk
- 使用方法同
wrk
类似,基本格式如下:
- 常用的参数:
- 执行测试:
- 输出结果:
go-wrk
http://coderedeng.github.io/2022/06/15/Go常用库介绍 - go-wrk/