本节主要对 JMeter 与 LoadRunner 的优缺点进行概要的总结,若有不足之处,敬请指正,不胜感激!
同时,我也不得不承认,在对 JMeter 和 LoadRunner 进行比较时,我个人的确偏向了 JMeter(免费、开源、跨平台、灵活扩展)。在本节中,您可以把本节中所述的观点看作我个人对开源 JMeter 的推介。事实上,JMeter 现在正是我在学习的自动化测试工具之一,也确实成为了我日常自动化测试的主要工具之一,而 LoadRunner 因其高昂的费用以及软硬件负荷,让我有些望尘莫及,也可以说是心有余而力不足。
JMeter与LoadRunner的相似之处:
- JMeter 跟 LoadRunner 架构基本相同。均通过中间代理,监控&收集并发客户端发现的指令,生成脚本,再发送到应用服务器,再监控服务器反馈结果的一个过程
- JMeter中也有分布式中间代理功能。这个分布式分理是指可设置多台代理在不同PC中,通过远程进行控制,即通过使用多台机器运行所谓的 Agent 来分担 Load Generator自身压力,并借此来获取更大的并发用户数
JMeter相对于LoadRunner的优势:
- 开源免费:JMeter是一款免费的开源软件,使用它不需要支付任何费用
- 跨平台:java开发的开源软件
- 小巧:相比LR的庞大(LoadRunner 4GB左右),它非常小巧(最新版本2.12仅有33M左右)
- 免安装:但需要JDK环境,因为它是使用java开发的工具
- JMeter 可以做web程序的功能测试,利用JMeter 中的样本,可以做灰盒测试, LoadRunner 主要用作性能测试
- 功能强大:jmeter设计之初只是一个简单的web性能测试工具,但经过不段的更新扩展,现在可以完成数据库、FTP、LDAP、WebService等方面的测试
- 灵活扩展:因其开源,可获取源代码进行二次开发、封装、优化,对其功能进行客制化,使其更好的适应测试需求;也可以根据自己的需求扩展它的功能,可自行编写扩展包(jar),放在{apache-jmeter-2.12\lib\ext}目录下,通过 Java请求 引用即可
JMeter相对于LoadRunner的不足:
- 界面不美观(开源典型的特点)
- 结果数据展示存在不足
- 结果分析能力没有 LoadRunner 详细
- 录制功能、调试环境存在一定的差距
- JMeter 没有 IP 欺骗功能,IP欺骗是指在一PC台上多个IP地址来分配给并发用户。这个功能对于模拟较真实的客户环境来说,比较有用
- JMeter 非商业软件,无专业技术支持,因起步较晚相应的学习资料较少,不过随着 JMeter 使用群体的逐渐壮大,相信此种情况会有很大的改观。
最后,因个人对 JMeter 和 LoadRunner 的粗浅认知,此文中若有不足之处,敬请告知。同时,希望这篇文章不会引起 LoadRunner 的坚定的拥护者们的反感,若有冒犯之处,敬请见谅!毕竟存在即有意义。若有任何不同见解,我非常欢迎您理性的留言探讨,非常感谢! ^_^