Jmeter 性能测试从0开始(三) --- 介绍一个具体的性能测试场景例子

1 引言

用Jmeter做性能测试看似简单,实则不易。因为有很多细节,只有你亲自做过,必须上手练过你才知道怎么做,否则只是纸上谈兵,没有实际经验,很容易被人问住。

上一节,我们讲了最简单的用Jmeter做性能测试的步骤和方法。https://blog.youkuaiyun.com/wangjingbin/article/details/150269241?spm=1001.2014.3001.5501

这一节,我们讲几个具体的例子,看看实际工作中的场景设置是什么样的?

2 例子1:50~100用户,并发5,运行1小时

场景业务并发用户和运行策略测试目的
场景1

综合业务(查询+下单)

50~100个用户,并发数为5的情况,持续运行一个小时持续运行,观察事务通过率和响应时间等指标

2.1 首先,请你自己思考一下,针对上面场景,Thread Group里面的thread数和并发5怎么设置?

...

这个并发5,让很多人摸不着头脑,在设置并发时容易和前面的总用户数搞混了。

其实,Thread数应该是设100,因为100用户没问题,50肯定也没问题。

2.2 下面看这个并发5怎么设置?

首先,我们先说一个具体的业务,还不是综合业务。

这里的并发5其实要加入一个同步定时器(Synchronizing Timer)

那么,接着一个问题是:加上这个同步计时器和不加它,哪个的吞吐量更高呢?

2.3 实验看结果

下面,我们用最简单的Java Request来模拟上面的场景,看看哪种情况吞吐更高?

2.3.1 加上Synchronizing Timer

如上图:

并发设置100;Rameup 2秒;Number of Simulated Users设置为5,不设置timeout。

为了简单,只测试30秒;同时为了清楚的看到并发5个的效果,添加View Results in Table,最后结果如下:

Thoughput: 417/sec

在下图你会看到并发5的效果:每5个用户同时并发请求。

2.3.2 Disable Synchronizing Timer

其他都是同样的配置,把同步计时器Disable掉,结果如下:

Throughput:420/sec

没有并发5的设置,请求会更多一些。

所以,结果很明显,加上并发5个的同步计时器,吞吐会低一点。这个也很好理解,比如一群学生进教室门,不加计时器,是学生来了就进去,不用等;加了计时器是必须凑够了5个学生再进去,肯定后者相对慢一点。

3 进阶:如果是综合业务,同步计时器怎么设置?

上面的例子只是一个请求,如果我们的综合业务有多个请求(业务),我们的同步计时器应该加到哪里?向下面这样加两个计时器,对吗?

其实上图这样做是不合理的,我们需要添加一个新的概念叫:事务控制器(Transaction Controller)

然后我们把上面的Search request和Order request都放到这个事务控制器下面,然后同步计时器也放到它下面:

运行结果如下:

我们看到除了TOTAL,有三条结果,那以哪一个为准呢?

既然我们是一个综合业务,应该以transaction controller的结果为准,上面两条单独业务就可以隐藏掉:勾上下面这个Generate parent sample。

最后的显示结果如下:

——————————————The End ——————————————————

欢迎关注大滨,坐标北京、天津:

18+软件开发测试经验;前8年银行系统(中行、民生、农行)功能、性能和自动化测试,尤其是性能测试;后10年存储行业(CA, Dell-EMC)自动化和性能测试。

也欢迎大家点赞关注我的微信公众号:大滨读书健身(全网同名)

会分享读书、健身、投资和个人成长等心得体会,人生除了代码还有生活,与君同行!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值