几个月前,我和其中一个朋友讨论了关于性能测试以及他所在组织的压力测试项目的未来及当前部署系统的性能问题。
在此期间他和我分享了在2012年中把HP Center 9.52(Load Runner商业班恩)升级到新版本HP QC 11。
大约一年后,我熟悉了Jmeter并且强烈建议他试着用Jmeter替代Load Runner,我发现它是如此的得心应手。不需要购买商业许可,你可以得到比Load Runner更好的性能。
所以在比较我们在次会话,我们达成了一个共识,在对比了Load Runner以及Jmeter的不足,他们可以和谐共存。这次会谈的底线是 Load Runner目前的功能没有什么吸引他不放弃Jmeter(一些定制化的脚本和插件以及例如HTTP协议等。译者注:上面这句我也拿不准 作者表达的意思,有更好的翻译联系我,我来改一下。)
然后他提了一个我闻所未闻的问题:
Jmeter能给予我什么?那些是Load Runner 所不能的?
我经常相对的思考,一直试图比较主导产品(指Jmeter)及成熟的产品即Load Runner。
我从来不认为Jmeter 能够提供一些比Load Runner更好的功能,除了它是免费和开放源代码。
这些问题萦绕在我脑子里好几个月,我得到了一些启示:
社区的力量
Jmeter 有一个强大的支持力量,及繁荣的社区,问题或者bug可以快到几分钟或者数小时后被修复或者得到答案(即使在周末哦!)
我曾经发现报告bug,该bug在数小时之后即被修复并且在下次构建中即可用(构建好像是每天都在做哦)。
相对于HP的支持,我曾经等待了数小时得到了一次回应,这是一个糟糕的经历。因此不管何时我发现一个bug,如果我报告它,我很清楚,我在最好的情况下(通常忽略或者规避它),我不得不等待下个补丁包或者几周以后的新版本。
不仅如此,试着搜索Load Runner 错误 问题,通常你会发现这些对你来说并不是有用的。
JMeter是基于Java的,大多时不需要编写任何代码,你只看到一个(灰色的)基于swing的程序,你能轻松玩转控制负载测试的测试项目。
Load Runner基于C,你需要学习一个功能来生成所需的脚本。
现在谁还会用C开发web应用程序?用J2EE甚至是.Net的开发者(使用面向对象语言)更容易扩展基于Java的应用程序。
JMeter为你展示所需的一切,以便在需要的场景中操控HTTP流量,这样你可以准确得知你所需要的行为,和你所期望的响应。
Load Runner为了代码简洁隐藏了很多细节,这可能会在特定事情在以与预期不同的方式发生的原因时,让你感到发狂。
即使新的Ajax支持引擎“TruClient”,也有相同的处理——将细节隐藏到脚本“级别”,为了使得脚本看起来漂亮,而你——一个狂躁的性能工程师则无法理解为什么脚本会这么执行。
Stupid-profJMeter强制用户了解Web应用程序如何工作,HTTP请求是什么,什么是header,浏览器的如何执行等等。
Load Runner适合所有人,你会发现不理解工程师在谈论的是什么负载测试,因为他也不知道他在谈论什么。
我看到过很多次,负载测试执行人不知道cookie和header之间的区别,或者什么是javascript及它的执行方式。
你想让这样的人负责您的应用程序性能或负载稳定性?我绝对不会。
结论当然JMeter也有缺陷,已经在文档中说明。 jmeter and load runner
我的观点是,你应该投资预算在工具方面,但你必须花时间来比较昂贵的商业工具和免费工具,以便做出正确的决策。
这种情况下,如果你是做Web应用的性能测试,JMeter可能是更好的选择。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务