测试驿栈-由浅入深学性能 Arrivals 线程组解释

飞天小子的性能课堂 · 2022年08月21日 · 2232 次阅读

概述

Arrivals 线程组,基本用法就是通过设计预期的总吞吐量,让系统计算需要的线程数。此时的线程数就是平均并发数

  • 如果单线程的业务处理时间是 2s/笔,也就是吞吐量为 0.5 笔/s,此时想达到 10 笔/s 就至少需要 20 个线程同时处理;
  • 如果单线程的业务处理时间是 200ms/笔,也就是吞吐量为 5 笔/s,此时想达到 10 笔/s 仅需要 2 个线程同时处理!

在预期总吞吐量不变的情况下,单线程的处理时间越短,则单线程的吞吐量越高,需要用来满足总吞吐量的线程数就越少,反之则越多

如果把总吞吐量比作工厂的预期总产能,那么单线程就是工厂的单条生产线。单条生产线的生产速度越快,则产能越高,那么想实现总产能就不需要太多机器;反之如果单条生产线的产能不能满足预期总产能,那么就只能增加更多的生产线了!这是一个成本问题!

Arrivals 参数解释

Target rate【预期吞吐量】
这里的单位时间有两个,一个是 s,一个是 min

ramp up【实现预期吞吐量的时间】
step count【实现预期吞吐量的节奏】
下图表示在 100s 内,分 5 个阶梯,让吞吐量达到 140 笔/s

活动线程监听

下图右上角有两个线程数,左边那个是当前启动的线程,右边那个是历史最大线程数
由这张图可以看出,随着系统运行,需要的线程数越来越多,也就是业务响应时间逐渐变长,单线程吞吐量逐渐下降

文档都已经上传到飞书知识库,自由阅读

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 0 条回复 时间 点赞
飞天小子的性能课堂 关闭了讨论 08月21日 09:55
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册