M/M/1:利用率とテールレイテンシ

このページの目次

M/M/1はランダムな到着と処理を厳密に解けるモデルです。利用率が1に近づくと待ち時間が非線形に増える理由と、平均だけでは利用者の経験を表せない理由を示します。

状態平衡から平均へ

外生Poisson到着率 、独立同分布の指数処理率 、両者の独立、単一FCFS窓口、無限待機容量、放棄・再試行なしを仮定します。状態 は系内要求数。到着により率 で増え、空でないとき処理完了により率 で減ります。

定常状態の隣接平衡は 。 とおいて幾何級数を正規化すると:

したがって:

では無限状態連鎖を正規化できず、定常分布はありません。式へ代入して「負の待ち時間」を出すのは誤りです。等号もこの確率系の安全な平衡点ではありません。

厳密に計算できる裾

到着者は確率 で前に 要求を見ます。無記憶性により自身の系内時間は 個の独立指数処理時間の和です。これを幾何分布の重みで混ぜると:

待ち時間は異なり、確率 で直ちに処理が始まります。

系内時間の 分位点は 。このモデルのp99は平均の約4.605倍ですが、実サービス全般に共通する比率ではありません。

図を準備しています
M/M/1:利用率とテールレイテンシ · 実験

定常FCFS M/M/1、待機容量無限、μ=100/s。Wqの裾はt=0でρ、残りは待たずに処理されます。下図の縦線は現在の利用率で、値はモデル内の厳密値です。

/s、 なら平均系内時間50 ms、平均待ち40 ms、p99約230 ms。 では100、90、461 msになります。平均処理時間は常に10 msです。

目標から条件付きの境界を求める

このモデルで系内時間p99を200 ms以下にするには:

/sなら /sです。条件付きの流量範囲であり、長い処理、バッチ、多段処理、下流の低速化があればモデルと負荷試験を見直します。

利用率曲線だけでは拡張の効果も分かりません。ワーカーを増やしても本当のボトルネックの が変わらず、競合で低下する場合すらあります。占有時間と負荷依存の動作から能力を識別します。

確認問題

  1. 利用率50%なら、半分の要求の総遅延は0ですか。
考え方

半分は待たずに開始できますが、処理は必要です。 は0に確率質量を持ち、 は持ちません。待つ確率と総遅延の分布を混同しないようにします。

  1. 本番の平均時間を4.605倍すればp99になりますか。
考え方

定常FCFS M/M/1が適用できる場合に限ります。実際は混合分布、多段処理、相関があり得ます。分布を記録してモデル誤差を確認する必要があります。

続けて読む

MIT Urban Operations Research §4.6.1は状態と系内時間の分布を導きます。次章では平均処理時間を保ちながら指数分布の仮定を緩めます。