0%

系統高可靠性

判斷指標有三個:

  • 吞吐量: 一個系統在單位時間內處理的請求數量
  • 回應時間: 一個系統處理請求所需的時間
  • 可併發數: 一個系統能夠同時處理的請求數量

三個指標的數學關係

吞吐量 ×\times 回應時間== 可併發數

舉個例子, 處理每個請求的時間是1ms, 也就等於回應時間為 1ms, 同時也代表著 1秒鐘可以處理 1000個請求(QPS=1000), 也就是吞吐量為 1000, 那麼可併發數就是 1000 * 0.001 = 1。

回應時間與 吞吐量是反比的關係

QPS and 回應時間

上述說到, QPS 與 回應時間是反比的關係,當 QPS 上升時,回應時間就會變長?
舉個例子: 有間理髮廳只有一位理髮師,客人上門時從剪髮\rightarrow 洗頭\rightarrow 吹頭,中間沒有間斷。當理髮師人數從一位增加到三位,而這三位理髮師分別負責 剪髮、洗頭、吹頭。這樣的話,客人的流程會是:剪完頭髮後,等待洗頭髮的理髮師準備好後洗頭,洗完頭髮後,再等待吹頭髮的理髮師準備好後再吹頭髮。

以店家的角度來看,同時可以服務的人數變多了,也就是QPS變多了,但是以顧客的角度來看,被服務的時間變長了,也就是回應時間變長了。 這就是典型的吞吐量與回應時間同時變大的情境。

個人觀點:回應時間變長的主要原因是不同的理髮師做了不同的事務,若設定一位理髮師負責所有的事務,那麼回應時間就會變短。

機器數量的計算

機器數量 == 預估的QPS ×\times 單一機器最大QPS