记得好几次面试,都有面试官问到这个问题,我想可能对他们来说比较重要,在此,我也记录一下自己的总结,不喜勿喷,谢谢~
1.原理:这两个工具的原理都一样,都是通过中间件代理,监控收集并发客户端发送的指令,生成脚本,发送到应用服务器,监控服务器反馈的结果的一个过程。
2.是否支持分布式:都支持。需要注意的是Jmeter的分布式压测其他负载机要与主控机安装的Jmeter版本一致,在负载机机启动jmeter-server.bat,主控机在jmeter.properties修改remote,添加负载机本地IP,再在主控机启动jmeter-server.bat,如果看到remote机有反应,代表启动成功,如果连接失败,请保证版本一致(包含Jmeter版本和Java版本)。而LR相对来说比较简单,只要在负载机安装小雷达即可(不需要安装整个LR),场景设置中配置一下负载机。
3.安装方式:Jmeter安装简单,解压即可使用。LR安装比较繁杂,需要到系统插件,安装时间久,安装包也比较大。
4.IP欺骗:Jmeter不支持IP欺骗。LR则可在一台PC上用多个ip地址来分配给并发用户,模拟不同ip访问系统的情况。
5.录制:Jmeter本身可以支持录制,使用本地代理服务器,测试个别参数需要手工添加,比较复杂,也能与badboy使用录制。LR录制相对简单,录制完毕后可直接修改脚本使用。
6.图表:Jmeter报表功能简单,对于要分析测试性能不足以作为依据,如要知道数据库服务器或应用程序服务的CPU,memory等参数,得在相关服务器上另外写脚本记录服务器的性能。LR图表功能强大,能直观反应问题,当然也可以自己另外写脚步去记录服务器的性能。
7.性能测试方式:Jmeter通过增加线程组的数目,或者设置循环次数来增加并发用户数。LR是通过在场景中选择要设置的场景,设置虚拟用户数。
8.主要方向:Jmeter可以做web程序的功能测试,接口测试,性能测试。LR主要做性能测试,也可以做接口测试。
9.收费:Jmeter是开源的,可以自己开发插件在Jmeter上使用。LR是收费的,需要版权。
10.易用性:Jmeter的脚本修改,主要是对Jmeter中各个部件的熟悉程度,已经相关的一些协议的掌握情况,而不依赖于编程。LR除了复杂的场景设置外,还需要掌握函数,修改脚本(如果单单只会录制脚本,并不叫性能测试哦~)
11.资料:Jmeter的资料比较少,但可以自己搭建环境学习源码。LR资料较多。
最后来个图片方便查看
本文由51ste.com网友编辑,未经授权,不得转载使用上述作品盈利;个人转载,需标明作者及出处。
|