性能测试】性能测试用JMeter还是Loadrunner?

2020-08-31 09:34发布

两个工具都能做性能测试,一个收费,一个免费,哪一个更好一些呢?

两个工具都能做性能测试,一个收费,一个免费,哪一个更好一些呢?

6条回答
我是大脸猫
1楼 · 2020-08-31 09:46.采纳回答

转载:https://blog.csdn.net/weixin_33770878/article/details/87563654

Jmeter与loadrunner是现时下比较火的两个软件,很多的测试人员在面临loadrunner与Jmeter的时候不知道该如何选择,其实当了解这两款软件之后就不会发生这种选择困难症了。下面通过一些异同点来了解一下

Jmeter与Loadrunner的相同点

1、原理都是通过中间代理,监控与收集并发客户端发现的指令,将他们生成脚本,并发送到应用服务器,再监控服务器反馈结果的一个过程

2、分布式中间代理,可以设置代理在多台不同的PC中,通过远程控制使多台机器来分担自身的压力,借此达到能给获取更大的并发用户数

3、录制功能,jmeter与loadrunner都具备的有录制脚本的功能,jmeter利用本地Proxy Server(代理服务器)来进行录制生成脚本,但是这个功能并不好用,录制完成后对象的个别参数需要手工添加,loadrunner自带通过代理方式录制脚本,无需安装其他插接件。

Jmeter与loadrunner的区别

1、jmeter安装简单快捷,只需要将安装包解压,然后配置好相对的环境变量即可使用,当然需要jdk环境的支持,loadrunner光安装包就1G多,在一般的PC上安装需要一个多小时时间,安装环境比较严谨,安装过程中可能会出现各种各样的问题报错,教旧的版本还好,网上能有写解决方法,安装新版本就另说啦,不管是哪个版本一旦出错,解决每一个问题都是比较花时间的,由于正版loadrunner收费的原因很多人在学习阶段会安装盗版,loadrunner比较坑的一点就是装过较旧的盗版不能再装新版

2、Jmeter中没有IP欺骗,但是可以通过其他方式实现,做些比较复杂的操作会比较麻烦。loadrunner中自带有的这一个功能,在平时简单测试时IP欺骗根本没什么用,但是在压力测试时,当某一个IP访问过于频繁或者访问量过大时,服务器会拒绝访问请求,这时候就需要用到IP欺骗来达到压力测试的效果。某些服务器配置了负载均衡,使用同一个IP测不出系统的实际,loadrunner可以通过IP欺骗调用不同的IP,很大程度上的模拟实际使用中的多个IP访问和并发测试服务器均衡处理的能力,还有些针对某些做了限制同一用户同一个IP的登录,loadrunner可以在模拟运行的用户中使用不同的IP

3、jmeter报表较少,对于分析性能不足以作为依据,如果要知道数据库服务器或者应用程序服务器的CPU,memory等参数的在相关的服务器上另外写脚本记录服务器性能。loadrunner的报表就想当的全,对分析性能不足时提供很多的依据

4、性能配置,jmeter在做性能配置时主要是通过增加线程组的数量,或者设置循环的次数来达到增加并发用户。而loadrunner可以通过Controller场景设置进行配置达到配置不同的性能测试需求

5、jmeter可以做web程序的功能测试,利用jmeter中的样本取样,可以做灰盒测试,当然loadrunner也是可以的,不过比jmeter麻烦很多,loadrunner主要用于作性能测试

6、jmeter为开源软件,网络上资料不是很全面,需要自己去揣摩,loadrunner是商业软件,如果是正版的话有技术支持的同时网络上还有很朵的资料

7、jmeter的脚本修改主要是对于jmeter中各个部件的熟悉程度,以及相关的协议掌握情况,不依赖与编程,而loadrunner除了复杂的场景外,还需要掌握函数,修改脚本基本上都是属于编程
 


其实如果做性能测试的话两个工具都是可以的,只不过就是loadrunner收费,jmeter免费,并且jmeter是一个轻量级的工具,安装和使用的时候都比较方便,但是相对来说功能和界面没有loadrunner好用,也没有那么好看

小新没有蜡笔
3楼 · 2020-09-07 13:58

jmeter安装简单快捷,只需要将安装包解压,然后配置好相对的环境变量即可使用,当然需要jdk环境的支持,loadrunner光安装包就1G多,在一般的PC上安装需要一个多小时时间,安装环境比较严谨,安装过程中可能会出现各种各样的问题报错,教旧的版本还好,网上能有写解决方法,安装新版本就另说啦,不管是哪个版本一旦出错,解决每一个问题都是比较花时间的,由于正版loadrunner收费的原因很多人在学习阶段会安装盗版,loadrunner比较坑的一点就是装过较旧的盗版不能再装新版

 jmeter是开源的,但是使用的人较少,网络上相关资料不全面,需要自己去揣摩,而loadrunner是商业软件,如果是正版,有技术支持,同时,网络上的资料相当多。

Jmeter能测试,主要是通过增加线程组的数目,或者是设置循环次数来增加并发用户,而loadrunner可以通过在场景中选择要设置什么样的场景,然后选择虚拟用户数。

综合来看 loadrunner比JMeter功能更强大一些。

ablabla
5楼 · 2021-01-22 16:34

jmeter安装简单快捷,只需要将安装包解压,然后配置好相对的环境变量即可使用,当然需要jdk环境的支持,loadrunner光安装包就1G多,在一般的PC上安装需要一个多小时时间,安装环境比较严谨,安装过程中可能会出现各种各样的问题报错,教旧的版本还好,网上能有写解决方法,安装新版本就另说啦,不管是哪个版本一旦出错,解决每一个问题都是比较花时间的,由于正版loadrunner收费的原因很多人在学习阶段会安装盗版,loadrunner比较坑的一点就是装过较旧的盗版不能再装新版

20200921文 - 做更棒的自己!
6楼 · 2021-04-07 11:29

首先要明确,关于性能测试的工具不单单只有Jmeter和LoadRunner,其实还有其他工具,比如locust(一个基于python实现的性能测试工具),在这里针对比较常见的Jmeter和LoadRunner进行一个简单的对比.
1.相同点 --这两个工具基本都是通过收集和模拟用户执行,生成脚本后根据不同的策略发送的服务端,根据服务的数据的监控结果达到性能测试的目的; 还有两者也都是可以完成分布式的部署的,通过多台计算机来产生更多的并发用户
2.不同点 -- 最明显的要算是Jmeter是开源工具,而LoadRunner是付费的性能测试工具; 并且Jmeter中的数据监控的报表远没有LoadRunner中丰富; 还有LoadRunner的IP欺骗功能可以更好地模拟实际用户场景,而Jmeter没有这个功能; Jmeter的录制功能没有LoadRunner方便操作.
如果需要针对这两个工具进行选择的话 -- 考虑花费的情况下使用Jmeter -- 考虑功能的情况下使用LoadRunner 这个内容比较基础

相关问题推荐

  • 回答 9

    在测试前,应该对测试结果有一个初步的估计。比如,性能(IO/CPU)应该是提升,还是降低,大概幅度会有多少。这样当测试结果与预估偏差极远时,很可能测试的过程或者方法是有问题的。1) 如果是已有模块,可以参考改模块历史的测试数据。看变化是否合理。2)...

  • 回答 17
    已采纳

    响应时间、并发用户数、TPS、吞吐量、CPU利用率、内存使用率、在线并发用户数等

  • 回答 20
    已采纳

    性能测试是基于功能、接口完整的情况下,对服务端进行压力测试、负载测试、疲劳测试、并发测试,来发现性能瓶颈。一、负载测试。负载测试的目的主要是为了测试软件系统是否达到需求文档设计的目标;例如一款软件在一定时期内,最大支持多少并发用户数,软件请...

  • 回答 7
    已采纳

    测试模型V模型测试阶段:单元测试集成测试系统测试瀑布模型瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了...

  • 回答 4

    一、准备工作在什么阶段开展性能测试工作?一般情况下,是在被测系统已完成功能测试、系统趋于稳定的情况下,才会进行性能测试。1. 组建测试团队根据被测系统的实际情况,组建一个性能测试团队,团队成员包括:开发人员、运维人员、DBA和测试人员等。2. 性能需...

  • 回答 2

    性能测试针对场景来讲的,在不同的场景,得出性能指标值。这些场景是真实环境有可能出现的。常见场景——压力测试,是否能长期提供服务

  • 回答 4

    上面看,运行结果没有任何提示,也不知道运行到什么程度,相当不友好,那我们来美化一下吧!等等!这是个死循环,通过脚本运行自己,所以会永远运行下去。我的天,幸好发现得早。现在 更换authTest.sh,原因是这个是要运行eaidkAuth文件的,因此需要更改,否...

  • 回答 4

    对于接口测试,首先测试人员要懂代码,你只需要知道接口的作用是什么就可以了,其次,自己去读开发的代码。然后,根据该接口功能及代码写测试用例:根据该接口参数,构造不同的用例,测试接口在参数合法及非法情况下能否达到预期效果,根据该接口中的逻辑,测...

  • 回答 3

    做梯度压力测试,当你发现响应时间下降超过10%的那个压力点,基本上就是性能瓶颈点了。当然还可以直接压崩。然后给一个极值。但是通常这个值 没用。

  • 回答 2

    主要从架构上登录过程的实现,能否支持同一账号多处登录,是架构考量的,一般的系统除非对session做持久化和帐号绑定。否则肯定同一账号多个会话是支持的。更多详细还要看你的架构实现。不过一点可以确认从数据库和中间件缓存来看,命中一定会比不同数据要高...

  • 回答 4

    、修改jmeter.properties文件,打开一些输出内容开关(下图根据需要选择相关项,具体就不用多说了吧)2、制定一份自己的输出模板。(不用默认的jmeter_home/extras/jmeter-results-detail-report.xsl模板,也可以网上自己找份。)3、最后执行,生成对应的HTML...

  • 回答 3

    一、Jmeter关联的方式:Jmeter中关联可以在需要获取数据的请求上 右键–>后置处理器 选择需要的关联方式,如下图有很多种方法可以提取动态变化数据:  在LR中有自动关联跟手动关联,但在我看来手动关联更准确,在jmeter中,就只有手动关联为什么要进行关联:...

  • 回答 4

    1) 配置元件(config elements):http请求默认值、http信息头管理器、CSV Data Set Config  2) 前置处理程序(Pre-processors):用户参数  3) 定时器(timers):同步定时器和常量吞吐定时器  4) 取样器(Sampler):http请求、JDBC Request、FTP请求....  5) ...

  • 回答 5

    首先第一步要导入mysql驱动包一、添加JDBC Connection Configuration设置链接Database URL: jdbc:mysql:// 数据库地址 /库名JDBC Driver class:com.mysql.jdbc.DriverUsername:账号Password:密码二、添加JDBC Reques三、在http请求中加入变量username_id_N...

  • 回答 3

    再今天重新学习,从数据库中取数据,并作为变量传到下一个请求中。首先第一步要导入mysql驱动包  一、添加JDBC Connection Configuration设置链接Database URL: jdbc:mysql:// 数据库地址 /库名JDBC Driver class:com.mysql.jdbc.DriverUsername:账号Pass...

  • 回答 5

    一、CSV 参数化1、我们做性能测试需要并发多个用户,为了真实模拟用户行为,我们需要模拟多个不同的用户登录,这是我们就需要进行参数化。这里我们选择比较常用的参数化方法-CSV Data Set Config首先打开CSV Data Set Config2.新建cvs文件放在和脚本同一个目...

没有解决我的问题,去提问