English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

guest
1 / ?
back to lessons

L = λ × W

容量規劃中最實用的方程式

對於任何穩定的排隊系統,無論其內部結構如何:L = λ × W,其中:

- L = 系統內的平均項目數量(正在處理中或等待中)

- λ (lambda) = 平均到達率(每單位時間的項目數)

- W = 每個項目在系統中停留的平均時間

幾何解讀:將 λ 繪製在一個軸上,W 繪製在另一個軸上。乘積 L 即為它們所構成的矩形面積。容量規劃就存在於這個矩形之內。

為何重要:這三個量中的任意兩個都可以決定第三個。測量吞吐量與延遲,即可得知佔用率;測量佔用率與吞吐量,即可得知延遲。該定律具有穩健性:它適用於 Web 請求、餐廳餐桌、超市排隊以及 CPU 流水線,且無需任何修改。

三個具體範例:

- 一個 Web 服務每秒處理 200 個請求,平均延遲為 50 毫秒(0.05 秒)。L = 200 × 0.05 = 10 個請求正在處理中。

- 一家咖啡店每小時服務 60 位顧客,平均停留時間為 15 分鐘(0.25 小時)。L = 60 × 0.25 = 15 位顧客在店內。

- 一個後端資源池每秒處理 1500 個請求,平均延遲為 200 毫秒(0.2 秒)。L = 1500 × 0.2 = 300 個請求正在處理中。

規模設定影響:某一層級的執行緒數 / 執行緒數 / 連線數必須至少為 L 才能跟得上。若少於此數,將導致佇列增長。

Little's Law as area: λ on x, W on y, L = area

您的 API 層每秒處理 1,200 個請求,平均延遲為 80 毫秒。請套用利特尔定律(Little's Law)計算 L。接著請解釋在以下兩種情況下會發生什麼變化:(a) 流量加倍至每秒 2,400 個請求,但延遲保持不變;以及 (b) 流量維持在每秒 1,200 個請求,但延遲上升至 160 毫秒。哪種情境會產生較大的 L?這在營運上意味著什麼?

為何延遲在使用率超過 80% 後會急劇飆升

營運中最關鍵的曲線

將使用率繪製在 x 軸(0% 至 100%),平均等待時間繪製在 y 軸。其形狀是容量規劃中最具影響力的曲線之一。

M/M/1 排隊模型:對於具有泊松到達(隨機)與指數服務時間(隨機)的系統,平均等待時間為:

W_q = ρ / (μ × (1 - ρ))

其中 ρ 為使用率(0 至 1),μ 為服務率。

曲線的形狀:

- 當 ρ = 0.5(50% 使用率)時,等待時間較短(1 個服務時間)。

- 當 ρ = 0.7(70% 使用率)時,等待時間約為 2.3 個服務時間。

- 當 ρ = 0.8(80% 使用率)時,等待時間約為 4 個服務時間。

- 當 ρ = 0.9(90% 使用率)時,等待時間約為 9 個服務時間。

- 當 ρ = 0.95(95% 使用率)時,等待時間約為 19 個服務時間。

- 當 ρ = 1.0(100% 使用率)時,等待時間為無限大。

膝點(Knee):約在 80% 使用率處,曲線急劇彎曲。在膝點以下,容量寬裕;超過膝點後,延遲的增長速度快於使用率的增長。

實務解讀:穩態下應以 70% 使用率為目標,絕不可達到 100%。這 30% 的「緩衝空間」並非浪費,而是維持有限延遲的代價。

Queueing curve with knee at 80% utilization

跨越膝點(Knee Point)的容量規劃

兩種情境:

情境 A:10 個副本(replicas)運行於 60% CPU 使用率。延遲 p99 = 100 ms。

情境 B:同一機群因流量增長而運行於 90% CPU 使用率。p99 = 600 ms。

相同的機群、相同的程式碼,僅使用率發生變化。

請利用排隊曲線(queueing curve)的幾何形狀,解釋為何情境 B 的延遲惡化了 6 倍,儘管使用率僅增加了 1.5 倍。接著提出建議:團隊應在何種使用率時增加容量?為何選擇該閾值,而非等到實際違反 SLO(服務水準目標)才行動?

容量規劃與觸發機制

綜合

現在你可以將利特尔法則(Little's Law)應用為矩形,解讀排隊曲線及其膝點,並將兩者與容量決策相結合。

同時應用兩者。

後端層級每秒處理 2,000 個請求,平均延遲為 50 毫秒,每個副本在 70% CPU 使用率下的容量為每秒 80 個請求。突增係數為 2 倍;您希望系統能承受 3 個副本同時故障。

計算:(1) 使用利特尔法則(Little's Law)計算基準狀態下的 L;(2) 使用課程公式(峰值 × 突增係數 / 單副本容量)+ 緩衝空間計算副本數量;(3) 當整個集群的觀察到使用率達到多少時應觸發自動縮容?並使用排隊曲線(queueing curve)證明該閾值的合理性。

配套筆記

配套筆記

本幾何學課程將無狀態水平擴展主課程重新詮釋為定量幾何。

下一個配套課程 geometry_of_ingress_egress_separation 將網路邊界分割重新詮釋為一個二分圖,其中包含一個由該分割移除的割點。

做得很好。