JMeter与LoadRunner的比较

本来打算写一篇JMeter和LoadRunner的简单比较的文章,Google了一下,发现类似的文章已经有不少了,中文的英文的都有。大致阅读了几篇,发现其中一篇文章的总结和比较还是比较中肯的,因此直接把这篇文章的Link贴在这里,供大家参考(请注意,这篇文章是2006年的文章,有些内容有点过时了)。

文章标题:Shootout: Load Runner vs The Grinder vs Apache JMeter
http://blackanvil.blogspot.com/2006/06/shootout-load-runner-vs-grinder-vs.html

随着对JMeter使用的深入,我越来越倾向于在自己的工作中使用JMeter工具,并且也不遗余力的向我认识的测试工程师推荐这个工具,但很多工程师在初步使用过这个工具后,会向我抱怨JMeter有太多不能做的事情,但在我看来,JMeter确实有不能做的事情,不过,对于Web应用的测试,JMeter是足够强大了。很多人会把JMeter和自己正在使用的LoadRunner进行比较,然后说“还是LoadRunner好用”——关于这一点,我觉得首先要明确“好用”的定义。接下来,我以自己的工作为例,说明一下JMeter是如何适应我的工作内容的。

我测试的主要项目都是基于Web的应用,从性能测试的角度来说,我希望性能测试工具具有这样的一些特点:
Critical Features:
1,支持HTTP/HTTPS协议,能够发送HTTP/HTTPS request;
2,支持用户场景(借用了LR中的词汇),能够以某种比例在不同的业务上分布用户数量;
3,支持事务;
4,支持参数化和关联(还是借用LR中的词汇);
5,能够获得和汇总请求响应时间等数据,能够提供响应时间汇总、事务/请求处理成功率等数据报表;

Non-Critical Features:
1,能够以漂亮的图表展示出结果数据;
2,能够提供漂亮的用户界面(GUI);
3,能够提供良好的录制功能和调试环境;

另外,从我所测试的产品,和我个人的角度来说,我还希望工具具有以下功能:
1,能够灵活的扩展,例如,我的应用的后端(bakcend)和前端的通讯使用的是RPC方式,则我希望工具能够通过我已有的API直接对后端产生负载,进行负载测试;
2,可以使用命令行方式,采用批处理模式运行(不需要GUI),运行后的结果能够通过Email等发送给我,或是直接integration到一个可发布的web页面上;
3,收集得到的数据能够很容易的进行再处理(例如,以XML格式存储raw data);
4,工具本身具有很好的可信度,可以通过查看代码等方式,了解当意外发生时是工具本身的问题或是应用的问题。

大体上,JMeter和LoadRunner都可以很好的完成Critical Feature中列出的任务,而LR在Non-Critical Feature方面表现更出色。不过,JMeter在我希望的更灵活的功能方面大获全胜。

JMeter的另一个最大的优势,自然是在cost方面,LR的价格是有目共睹的,而JMeter,接近0的获得成本对于资金不那么宽裕的公司来说,实在是难得。

我得承认,在对JMeter和LoadRunner进行比较的时候,我很明显的偏向了JMeter:)在本文中,我不打算以一个独立第三方的面目出现,你可以把本文的观点看作是对JMeter的推介或是认可,目的只是为了消除一些人认为“JMeter是玩具”的观点,实际上,JMeter现在确实是我的性能测试中的主要工具,而LoadRunner已经不再出现在我的性能测试工具列表中了。

希望这篇文章不会开罪LoadRunner的坚定拥护者们,有任何意见,我非常欢迎理性的讨论。

转载于:https://www.cnblogs.com/guanhe/archive/2008/04/28/1174583.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JMeterLoadRunner是两种常用的性能测试工具,它们的主要区别如下: 1. 开源 vs 商业:JMeter是一款开源的性能测试工具,而LoadRunner是一款商业的性能测试工具。 2. 支持的协议:JMeter支持多种协议,包括HTTP、FTP、JDBC、SOAP、REST等,而LoadRunner主要支持Web、HTTP、SOAP、REST、JDBC、Citrix等协议。 3. 脚本录制方式:JMeter的脚本录制方式比较简单,可以通过代理服务器或者浏览器插件进行录制,而LoadRunner的脚本录制方式比较复杂,需要安装专门的录制工具。 4. 脚本编辑和调试:JMeter的脚本编辑和调试比较方便,可以直接在界面上进行编辑和调试,而LoadRunner需要使用专门的编辑器进行脚本编辑和调试。 5. 性能测试报告:JMeter的性能测试报告比较简单,需要使用插件或者第三方工具进行生成和分析,而LoadRunner的性能测试报告比较丰富,可以直接在工具生成和分析。 总体来说,JMeter适合小型项目和初学者,而LoadRunner适合大型项目和专业的性能测试人员。 ### 回答2: JMeterLoadRunner是软件测试两个非常重要的负载测试工具。JMeter是Apache开源项目组织研发的一款免费开源的负载测试工具,LoadRunner是HP公司旗下的一款商业性质的测试工具。 1. 系统要求不同: JMeter基于Java语言开发,可以在任何主流操作系统上运行,而LoadRunner只能在Windows系统上使用。 2. 使用难易程度: JMeterLoadRunner使用更加简单,学习门槛较低,联合各种协议进行测试时,开发人员容易上手。LoadRunner较为复杂,需要较高的技能水平才能充分利用所有功能。 3. 支持协议: JMeter支持多种协议,包括HTTP、JDBC以及FTP等。而LoadRunner的协议支持相对单一,只能测试HTTP、HTTPS、FTP、SMTP、POP3等常用协议。 4. 原理不同: JMeter的运作原理是仿真多个用户同时访问服务器,测试服务器的并发响应情况。而 LoadRunner 是通过将收集到的性能数据分析来评估系统性能。 5. 具体功能不同: JMeter提供测试计划、线程组、控制器、监听器、前置处理器等组件来方便使用者进行测试,可以极大地简化负载测试的流程。LoadRunner提供了更多更细致的控制和性能监测,并可随时察看测试结果。 综上所述,JMeterLoadRunner各自有其优点,选择哪个负载测试工具需要根据项目的实际需求和人员技能水平决定。对于简单的负载测试,JMeter可能是更好的选择,对于更加复杂的场景,LoadRunner更适合。 ### 回答3: JMeterLoadrunner都是压力测试工具,主要用于测试软件或网站在高负载条件下的性能和稳定性。两者的主要区别在于以下几个方面。 1.价格:Loadrunner是商业产品,需要用户购买许可证才能使用,而JMeter是开源的免费工具。 2.易用性:Loadrunner在用户界面、测试场景设计和脚本编写方面相对便于使用,但是需要一定的学习和掌握,JMeter则相对复杂,需要用户对Java编程和网络协议有较深入的了解。 3.支持的协议:Loadrunner支持最广泛的协议,如HTTP, HTTPS, SOAP, REST, LDAP, POP3等等,而JMeter相对较少,只支持HTTP和HTTPS等常见的协议。 4.扩展性:JMeter可以使用插件扩展功能,例如JMeter-plugins等,而Loadrunner到目前为止还没有插件支持。 5.可移植性:JMeter是基于Java开发的,可以在不同平台上运行,如Windows、Linux、Mac等,而Loadrunner只能在Windows操作系统上运行。 综上所述,JMeter更适用于对HTTP、HTTPS等常见协议的测试,需要有一定的技术基础和编程能力。而Loadrunner则更适用于企业级应用的大规模和复杂的测试需求,需要一定的购买和学习成本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值