性能文章>Arrivals 线程组的一点解释>

Arrivals 线程组的一点解释原创

5月前
226622

 

概述

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

 

活动线程监听

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

 

扫码加入微信群

 

点赞收藏
飞天小子

13软件测试,10年性能测试,5年性能培训,10万字性能博主,项目经理,微信uhz2008

请先登录,查看2条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步

为你推荐

【译】Lightrun - 调试Java程序生产问题的优秀工具

【译】Lightrun - 调试Java程序生产问题的优秀工具

一个jsqlparse+git做的小工具帮我节省时间摸鱼

一个jsqlparse+git做的小工具帮我节省时间摸鱼

nginx+lua在我司的实践

nginx+lua在我司的实践

推荐几个我近期排查线上http接口偶发415时用到的工具

推荐几个我近期排查线上http接口偶发415时用到的工具

2
2