服务吞吐量简单小模型

问:简单假设一个服务的处理并发量为CPA, 每个请求的平均处理时间为rpt,则单位时间内的处理吞吐量为多少? 

答:单位时间内,单个处理线程(worker)的处理量为1/rht,则总的吞吐量为 CPA/rpt。

 

类比一下:

假设某个红绿灯路口有CPA个车道,每辆车的平均通过时间为rpt,则单位时间内能通过路口的汽车数量为多少?

单位时间内一个车道的通车量为1/rpt,这个路口有CPA个车道,则总的通车量为CPA/rpt。

 

以上简单模型说明

1)在服务处理并发量一定时,每个请求的平均处理时间越长,吞吐量越差

越可能出现一些请求长时间等待而得不到处理的情况,请求等待超时乃至放弃的情况越容易发生

从服务请求方来看

2)当出现请求超时的情形时,首先想到的是减少请求次数,但更应该想到的是降低单个请求的处理时间,比如是否可以优化

3)当出现请求超时的情形时,除了优化单个请求的处理时间外,也可以考虑把一个请求分解为多个,这样服务可以见缝插针地处理其他请求。

  就比如路人甲上午去银行营业厅办事,如果有几位业务超复杂的人排在路人甲前面,那他想要在上午办完业务估计没戏了;

4)请求在发送的时间上不要过于集中,错峰出行,体验更佳,哈哈;

5)最后一招,延长等待超时时间,耐心等吧;

从服务处理方来看

6)增加处理并发量CPA,可以增加吞吐量;

7)降低请求的处理时间,也可以增加吞吐量,比如:增加单个worker(如线程)的处理能力,或者优化数据查询时间等

posted @ 2022-01-14 12:33  tlz888  阅读(122)  评论(0编辑  收藏  举报