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

un

ゲスト
1 / ?

L = λ × W

クapasity Planningの最も便利な方程式

どの安定したキューにも、内部構造に関係なく適用可能です:L = λ × W,ここで

- L = システム内(進行中または待機中)の平均のアイテム数

- λ(lambda)= 平均到着率(単位時間あたりのアイテム数)

- W = システム内で各アイテムが平均滞在時間

幾何学的読み取り: λとWをそれぞれ軸にプロットします。Lはこれらが形成する四角形の面積です。Capacity Planningはこの四角形の中で行われます。

なぜ重要か: 三つの量のどれかを測定すれば、他の二つもわかります。通過率とラテンスを測定すれば、占有率がわかります。通過率と占有率を測定すれば、ラテンスがわかります。この法則は、ウェブリクエスト、レストランのテーブル、スーパーマーケットのキュー、CPUパイプラインにも適用されます。

具体的な例:

- ウェブサービスは、平均ラテンスが50ms(0.05秒)の200req/sを処理しています。L = 200 × 0.05 = 10が進行中です。

- コーヒーショップは、平均滞在時間が15分(0.25時間)の60人/hを処理しています。L = 60 × 0.25 = 15人が内にいます。

- バックエンドプールは、平均ラテンスが200ms(0.2秒)の1,500req/sを処理しています。L = 1,500 × 0.2 = 300が進行中です。

サイズのイマイチ: ワーカー数、スレッド数、接続数は、少なくともLでなければなりません。それ以下はキューの拡大を意味します。

Little's Lawの面積: λのx軸、Wのy軸、L = 面積

あなたのAPI階層は、平均ラテンスが80msの1,200req/sを処理しています。Little's Lawを適用してLを計算し、トラフィックが2,400req/sに増える(ラテンスが変更なし)およびトラフィックが1,200に留まるがラテンスが160msに上がる(a)と(b)のシナリオでどのような変化が生じるかを説明してください。それぞれのシナリオでLがどれだけ大きくなるかを比較してください。

ラテンスが80%利用率を超えるとなぜ急上昇するか

オペレーションの最も重要な曲線

x軸に利用率のプロットを表示し(0%から100%)および平均待機時間をy軸に。形状は、容量計画で最も重要な曲線の1つです。

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%利用)の場合、待機時間は無限です。

ひざ掛け:約80%の利用率で曲線が急に曲がります。ひざ掛けの下では、容量は快適です。上のひざ掛けでは、待機時間は利用率よりも急上昇します。

実践的な読み方:70%の利用率で安定状態を目指しましょう。100%を目指さないこと。30%の「余裕」は無駄ではありません。有限の待機時間の代償です。

キューイング曲線のひざ掛け(80%の利用率)

サイズ調整の過程でひざ掛けを越える

2つのシナリオ:

シナリオA:10のレプリカが60%のCPUを使用中。p99の待機時間は100msです。

シナリオB:同じfleetが90%のCPUを使用して、交通量の増加によりp99 = 600msです。

同じfleet、同じコードだけが変わり、利用率だけが変わっています。

キューイング曲線の幾何学的形状を使用して、シナリオBの待機時間が6倍悪い理由を説明し、次の2つを提案してください:チームが容量を追加すべき利用率は何%か、それはどの閾値を待機代替ではなく理由付けするか?

サイズとトリガーを一緒に

合成

今から Little's Law を適用して、四角形として読み、キーの曲線を読み、両方を容量決定に繋げることができます。

両方適用してください。

バックエンド階層は、1秒間に2,000個の要求を処理し、70%のCPU使用率の下、レプリカあたり50ミリ秒の平均レイテンシ、80個の要求を処理します。増加係数2xで、3つの同時レプリカの失敗を乗り越えることを望む。

計算してください:(1)基線でLittle's法を使用してLを求め、(2)レプリカカウントを使用して、ピーク×スラッグ/レプリカ(ピーク×スラッグ/レプリカ)+余裕を基準として求め、(3)チームが観測した利用率で自動スケーリングがトリガーすべきで、そしてキューイング曲線を使用して閾値を正当化してください。

伴侶ノート

伴侶ノート

この幾何学のレッスンは、Stateless Horizontal Scalingのメインレッスンを量的な幾何学として再構成します。

次の伴侶である geometry_of_ingress_egress_separation は、ネットワーク境界のスプリットを二部グラフとして再構成し、スプリットが除去する切断頂点を持つことを示します。

おおっとくしました。