51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3021|回复: 3
打印 上一主题 下一主题

[转贴] Loadrunner 和 Jmeter 测试结果大 PK

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-6-27 16:02:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

今天看了某人的一帖子https://testerhome.com/topics/8599, 论LR和Jmeter 测试大 PK,评论很精彩,用哪个工具进行压测本人觉得不重要,重要的是测试结果的准确性,以及数据监控的多样性。于是我分别用这2工具对同一登录功能进行压测,测试结果却都不一样,由于我用的是非破解版的Loadrunner,所以测试用户数只能是50个。
项目背景:服务器端是用PHP写的,mysql数据库,客户端是app。

测试一:1个用户陆续执行登录操作,迭代100次,运行完就结束

Loadrunner
测试配置如下:

[color=rgb(0, 105, 214) !important]


设置为忽略think time,不存储log,取消download non-HTML resources

测试结果如下:

[color=rgb(0, 105, 214) !important]


Jmeter
测试配置如下:

[color=rgb(0, 105, 214) !important]


测试结果如下:

[color=rgb(0, 105, 214) !important]


测试一结果对比:
登陆操作:1个用户迭代100次,运行完就结束
前提“LR忽略think time,不存储log,取消download non-HTML resources”
1、LR的平均事务响应时间为0.318s,而Jmeter的平均事务响应时间为318ms。
2、LR的TPS每秒事务数为3.03,而Jmeter的TPS平均为3.1。

测试二:50个用户并发执行登录操作(有集合点)

Loadrunner
测试配置如下:

[color=rgb(0, 105, 214) !important]


集合点策略为:当50个用户都到达集合点后才执行,timeout为0

测试结果如下:

[color=rgb(0, 105, 214) !important]


Jmeter
测试配置如下:

[color=rgb(0, 105, 214) !important]


测试结果如下:

[color=rgb(0, 105, 214) !important]


测试二结果对比:
1、LR的平均事务响应时间为3.453s,而Jmeter的平均事务响应时间为3298ms。
2、LR的TPS每秒事务数为9.701,而Jmeter的TPS是8.8。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    无聊
    2024-9-19 09:07
  • 签到天数: 11 天

    连续签到: 2 天

    [LV.3]测试连长

    推荐
    发表于 2017-6-27 16:23:00 | 只看该作者
    1.第一种场景中,设置有2点问题
    第一,Jmeter你的截图设置和你实际设置不一致,截图线程是50,Ramp up是100,实际运行应该是线程50,Ramp up是25,这样才是每秒并发2个,你可以看Jmeter中的结果图24秒就结束啦。

    第二,为什么TPS不一致,那是因为你2种工具设置不一致,造成较大误差,LR中,启动好50个VU后,还要保持50个VU运行5分钟才结束且每个VU启动后还会持续运行;而Jmeter,启动完50个线程就结束了且每个线程运行一次后就结束,所以最后就发送了50个请求,你可以看看LR的总共请求数肯定远远大于Jmeter。这点你可以使用jp@gc - Stepping Thread Group的这个线程组

    然后说说你看到的响应时间,Jmeter是直接post的请求,只要服务器返回响应就结束,而LR是真实的填入用户信息,在post,之后回来还会解析成页面,这个LR肯定耗时,但是压测页面方面,LR更接近真实,Jmeter更适合后端服务和数据库的方面的压测

    2.第二个场景中,Jmeter倒是设置的是50了,RampUp是100了,但是你线程运行次数还是1,而且设置了集合点,那就是每2秒启动一个线程,攒够50个线程,走一波,结束。。。jp@gc - Active Threads Over Time这个应该只是记录发送请求时的状态,而中间线程启动等待50的过程,不算。从你设置和Jmeter的结果来看,真正的压测,就是50个线程一波这个,没看出来TPS,25在哪里。
    回复 支持 1 反对 0

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2017-6-27 16:25:51 | 只看该作者
    牛,第一种场景中的jmeter线程组的配置确实是我上传错了图片,Ramp up应该是25
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-14 14:13 , Processed in 0.061539 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表