1. 程式人生 > 其它 >服務吞吐量簡單小模型

服務吞吐量簡單小模型

問:簡單假設一個服務的處理併發量為CPA, 每個請求的平均處理時間為rpt,則單位時間內的處理吞吐量為多少?

答:單位時間內,單個處理執行緒(worker)的處理量為1/rht,則總的吞吐量為 CPA/rpt。

類比一下:

假設某個紅綠燈路口有CPA個車道,每輛車的平均通過時間為rpt,則單位時間內能通過路口的汽車數量為多少?

單位時間內一個車道的通車量為1/rpt,這個路口有CPA個車道,則總的通車量為CPA/rpt。

以上簡單模型說明

1)在服務處理併發量一定時,每個請求的平均處理時間越長,吞吐量越差

越可能出現一些請求長時間等待而得不到處理的情況,請求等待超時乃至放棄的情況越容易發生

從服務請求方來看

2)當出現請求超時的情形時,首先想到的是減少請求次數,但更應該想到的是降低單個請求的處理時間,比如是否可以優化

3)當出現請求超時的情形時,除了優化單個請求的處理時間外,也可以考慮把一個請求分解為多個,這樣服務可以見縫插針地處理其他請求。

  就比如路人甲上午去銀行營業廳辦事,如果有幾位業務超複雜的人排在路人甲前面,那他想要在上午辦完業務估計沒戲了;

4)請求在傳送的時間上不要過於集中,錯峰出行,體驗更佳,哈哈;

5)最後一招,延長等待超時時間,耐心等吧;

從服務處理方來看

6)增加處理併發量CPA,可以增加吞吐量;

7)降低請求的處理時間,也可以增加吞吐量,比如:增加單個worker(如執行緒)的處理能力,或者優化資料查詢時間等