K6:现代的压力测试工具
最近要做对线上做压力测试, 我向来是喜欢用locust的, 简单方便, 也有导出的Report
最近发现了一个使用起来更加方便的工具 k6
压力测试是什么?
个人经验压力测试要有这么几点:
- 足够强的并发量: 能够形成足够强的压力
- 可以进入版本的脚本管理: 可以不依赖GUI也能够清晰的了解测试逻辑
- 支持设置压力测试的Steps: service warmup, QPS曲线
- 支持多阶段操作: 为了进行实际的业务请求, 会有一些前置的操作.
- 美观的UI, Report导出
K6的优点
- 基于Go, 支持Js脚本:这两者决定了在网络请求这种重IO的操作中, 基本性能不会太差
- 丰富的设置项, 轻松设置压力曲线
- 支持Scenario, 模拟用户的行为
- 自带Dashboard
竞品比较
笔者使用的压测工具不多
- locust: UI丑, 但是简单易上手
- go-stress-testing: 没有UI, 没有阶梯设置
- jmeter: 太重
总结
我建议尝试k6替代掉之前的压测工具, 你需要一个更现代化, 更强大的工具.