主要针对三款压测工具:Jmeter、Loadrunner、kylin
关于费用:
- Jmeter 免费
- Loadrunner 商用
- kylin 商用
关于协议:
- Jmeter 协议较少
- Loadrunner 协议很多,但是不支持最新的协议,例如视频协议
- kylin 协议很多,且支持最新的视频协议,媒体质量
关于关联:
- Jmeter 全部手动关联
- Loadrunner 支持自动关联
- kylin 支持自动关联
关于并发:
- Jmeter 并发基于线程,消耗较多本地资源;支持分布式解决
- Loadrunner 并发基于线程,消耗较多本地资源;支持分布式解决
- kylin 并发基于线程,可以共享线程,支持分布式
并发真实性(模拟浏览器的程度):
- Jmeter 不支持模拟浏览器,请求串性执行
- Loadrunner 各个版本不一样,11版本能力较弱,单线程下可以并行2个请求;12版本可以并行6个请求
- kylin 支持模拟浏览器的并行请求,但完全模拟的前提是脚本由录制产生
虚拟IP:
- Jmeter 不支持
- Loadrunner 支持虚拟IP
- kylin 支持虚拟IP
报告与分析:
- Jmeter 在命令行模式下可以生产简单报告
- Loadrunner 支持合并指标、指标过滤、曲线放大缩小、比较不同测试结果等
- kylin 支持合并指标、指标过滤、曲线放大缩小、比较不同测试结果等
资源监控:
- Jmeter 可以通过在服务器放置ServerAgent,并通过外部插件实现监控;但是用nmon的图表好看些
- Loadrunner 自带监控服务器的SNMP
- kylin 自带监控服务器的Monitor
网络限制:
- Jmeter 不支持
- Loadrunner 支持限速,测试弱网环境
- kylin 支持限速,测试弱网环境
结论
两个收费软件的功能更加强大,模拟真实度更高
在复杂业务场景中推荐使用loadrunner和kylin 在纯后端接口或顺序接口中推荐使用Jmeter