前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高级性能测试系列《38.Arrivals Thread Group、ConcurrencyThread Group、终极线程组》

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

作者头像
清菡
发布2023-02-28 17:02:51
4510
发布2023-02-28 17:02:51
举报
文章被收录于专栏:清菡软件测试清菡软件测试

一、面向目标:Arrivals Thread Group

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

错误案例示范

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

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

  • 可以理解为:1000个人访问我们系统,持续运行,系统不能崩溃,响应时间也不能过长。运行的时候,有些人运行得很慢,有些人运行得很快,但是不能出现报错。
  • 用户对秒杀的理解:我要在1秒钟内收到处理结果,也就是1000tps。只要服务器1秒钟能够处理1000个事务,不管有多少人。发过来1000个事务,就处理掉一千个事务。

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

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

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

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

二、面向目标:Concurrency Thread Group

看系统能不能支持100个并发用户

达到100了

TPS值只有18-20左右

在一百个并发用户数的时候,每个接口的请求响应时间达到5秒多

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

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

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

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

  • 有时间规律:波浪型Ultimate Thread Group 终极线程组。
    • 第二行,起始时间 要 大于等于 前一行的所有时间之和(例如上班和下班,中间是有上班停顿的时间,这个时间是可以不操作的,那么就把“初始化延迟启动时间”设置的久一些)。

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

增长的人数是不相等的。

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

补充

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

Arrivals Thread :达到多少率,tps。

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

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

脚本链接:

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、面向目标:Arrivals Thread Group
  • 二、面向目标:Concurrency Thread Group
    • 你说这个系统能不能支持100个并发用户?
    • 三、波浪型场景:Ultimate Thread Group(终极线程组)
      • 阶梯线程组每次只能设置相同步长的,如果要设置不同步长,如何设置?
        • 补充
          • 脚本链接:
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档