测试驿栈-由浅入深学性能 Arrivals 线程组解释
飞天小子的性能课堂
·
2022年08月21日
·
3361 次阅读
「原创声明:保留所有权利,禁止转载」
概述
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
活动线程监听
下图右上角有两个线程数,左边那个是当前启动的线程,右边那个是历史最大线程数
由这张图可以看出,随着系统运行,需要的线程数越来越多,也就是业务响应时间逐渐变长,单线程吞吐量逐渐下降
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。
除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。
具体请参见TesterHome 知识产权保护协议。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!