高级性能测试系列《38.Arrivals Thread Group、ConcurrencyThread Group、终极线程组》

文章讨论了在秒杀场景下,如何通过ArrivalsThreadGroup、ConcurrencyThreadGroup和UltimateThreadGroup等不同线程组策略来测试系统的并发能力和性能。1000个人同时秒杀时,系统需保证不崩溃且响应时间合理。然而,100个并发用户时,系统响应时间高达5秒,表明系统无法有效支持此并发量。此外,文章提到了不同企业对性能指标的不同追求,如TPS或最大并发用户数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、面向目标:Arrivals Thread Group

需求:要做一个秒杀, 能支持1000个人同时秒杀,我们的系统不能崩溃。

cfba5ec1dd789e3ac560f30f29ada53c.png
错误案例示范

1秒内的人数的运行是有先后的,1000个人在1秒钟内启动,运行完毕一次就停掉了。

3886ab01cacf3c029d702eab8a480513.png

由图可以看到,有的response是几十毫秒或者几百毫秒都可以处理完毕。有时候几十毫秒处理完毕后就停掉了,所以没办法保证有一千个人的。

  • 可以理解为:1000个人访问我们系统,持续运行,系统不能崩溃,响应时间也不能过长。运行的时候,有些人运行得很慢,有些人运行得很快,但是不能出现报错。

  • 用户对秒杀的理解:我要在1秒钟内收到处理结果,也就是1000tps。只要服务器1秒钟能够处理1000个事务,不管有多少人。发过来1000个事务,就处理掉一千个事务。

1秒钟产生1000个线程数,导致服务器压力特别大,服务器出现异常,服务器出现异常是因为请求量特别大而出现的,并不是服务器的处理能力不行。

因为在做性能测试之前,并没有持续向服务器发起请求。

真实的情况,在秒杀之前,肯定有很多人已经登上了服务器了。

绝对不是服务器处于空闲的状态,突然来了1000个秒杀。

二、面向目标:Concurrency Thread Group

94a796f7cd342933b2e0a60a63ccba72.png
看系统能不能支持100个并发用户
f97c6b812540dc3fd57ced45cfbccfc8.png
达到100了
a303e4c5ce74337863fd5072b63fb366.png
TPS值只有18-20左右
1649f2f5e11f9da8f98078df6b42e4ef.png
在一百个并发用户数的时候,每个接口的请求响应时间达到5秒多

你说这个系统能不能支持100个并发用户?

100个人登录系统,每个接口的请求响应时间要5秒多钟才给你返回回来,用户的角度来说,是不能被接受的。

说明这个系统不能支持100个并发用户数。

三、波浪型场景:Ultimate Thread Group(终极线程组)

  • 有时间规律:波浪型Ultimate Thread Group  终极线程组。

    • 第二行,起始时间  要 大于等于 前一行的所有时间之和(例如上班和下班,中间是有上班停顿的时间,这个时间是可以不操作的,那么就把“初始化延迟启动时间”设置的久一些)。

c35de61dc1e6d542ce1f3795b81ff39f.png

阶梯线程组每次只能设置相同步长的,如果要设置不同步长,如何设置?

77ae90ccb4649acb3754e3ac544445b8.png
增长的人数是不相等的。

这波浪型场景也是可以设计阶梯线程组的。

78da74212a2871923ffd97815c8117bc.png

补充

不同的企业追求的性能指标不一样,有的企业的项目追求tps值,有的企业的项目追求最大并发用户数,不同的企业的项目求的不一样。

Arrivals Thread  :达到多少率,tps。

Concurrency Thread:达到多少人,并发数。

ngrinder只能设置固定人数,因为它是自动分配的。

脚本链接:

链接:https://pan.baidu.com/s/1wROVT9dNH-Y-Bm2xTYVPYA?pwd=1234 提取码:1234


文章中的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。「文章是清菡编写的,如有转载,请标明出处!」

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清菡软件测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值