主要针对三款压测工具: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