株式会社ジオデータ開発 ロゴ
株式会社ジオデータ開発GEO DATA DEVELOPMENT Inc.
待ち行列M/M/1キューイング理論利用率平均待ち時間リトルの法則ポアソン過程指数分布

FOUNDATIONS / QUEUEING THEORY / PERFORMANCE

M/M/1待ち行列とは? 利用率と平均待ち時間を数式・図解・シミュレーションで理解する

公開日:2026-10-13

利用率25%の窓口が40%になっただけなのに、待ち時間は2倍になることがあります。サーバー・コールセンター・API・レジで共通する「混雑の数学」を、身近な例から理解します。

この記事の学習ルート

行列の身近な例 → M/M/1の仮定 → λ・μ・ρ → Wqの導出 → 数値例 → 応答時間とリトルの法則 → 操作ラボ → 実務での限界と改善策

1. 待ち行列はなぜ発生するのか

病院の受付、カフェのレジ、Webアプリのリクエスト処理を想像してください。窓口が空いている瞬間に到着すれば、すぐ処理できます。一方、利用者が短時間に集中すると待たなければなりません。平均到着件数が平均処理能力を下回っても、一時的な集中は起こりえます。

待ち行列理論は、到着のばらつき、サービス処理のばらつき、窓口数をモデル化し、平均待ち時間や混雑度を計算する方法です。負荷試験・容量計画・SLA設計の基礎となります。

M/M/1モデルの全体像:到着 → 待ち行列 → サービス → 退出

到着

λ 件/時

ランダムに到着

→

待ち行列

平均待ち時間 Wq

→

窓口 1台

μ 件/時

サービス処理

→

完了・退出

系外へ出る

安定状態では長期平均の到着件数と退出件数は等しくなります。図は概念図で、実際の列の長さは刻々と変動します。

2. M/M/1という記号が意味すること

M/M/1はケンドールの記法です。最初のMは到着間隔が指数分布(到着件数はポアソン過程)に従うこと、次のMはサービス時間が指数分布に従うこと、1は同時にサービスを提供する窓口が1台であることを示します。MはMarkovian(無記憶性に関係する)という意味です。

記号・前提意味現場での読み替え
最初の M到着はポアソン過程、到着間隔は指数分布注文やリクエストがランダムに届く
次の Mサービス時間は指数分布処理時間にはばらつきがある
1単一サーバー(単一窓口)同時に1件を処理する
FCFSの例先着順で処理する規律先に来た仕事を先に処理
容量無制限・母集団無制限標準的なM/M/1の追加仮定バッファ満杯による棄却や到着制限を考えない

3. λ・μ・ρの3つを覚える

記号読み方・意味例
λ(ラムダ)平均到着率:1時間に到着する件数4.8 件/時
μ(ミュー)平均サービス率:1時間に処理できる件数12 件/時
ρ(ロー)利用率=λ/μ4.8/12=0.4(40%)
ρ = λ / μ (安定条件:0 ≤ λ < μ)

μ=12件/時なら、平均サービス時間は1/12時間=5分です。「40%稼働」は毎回2分働いて3分休むという意味ではなく、長期平均で窓口が仕事をしている時間の割合を示します。

λがμ以上になると、容量無制限の基本モデルでは安定した平均待ち時間を定義できず、列が長期的に増大します。ρ=1の公式への代入はゼロ除算になるため、安定状態の公式は使えません。

4. 最重要:平均待ち時間 Wq の公式

待ち始めてからサービスを受けるまでの平均時間をWq(queueのq)と書きます。M/M/1の安定状態では次の公式です。

Wq = ρ / (μ − λ) = ρ / [μ(1 − ρ)]
Wq = [ρ / (1 − ρ)] × 平均サービス時間

どちらも同じ意味です。μは「件/時間」、1/μは「時間/件」なので、単位をそろえる必要があります。公式にはサービスを受けている時間は含まれません。

実用的なのは倍率比較です。μが変わらなければ平均サービス時間は共通なので、ρ/(1−ρ)の比だけで待ち時間の増加倍率が分かります。

5. 利用率25%と40%で比べる

平均サービス時間を5分に固定してみます。利用率25%での平均待ち時間は、5×0.25/0.75=約1.67分。40%では5×0.4/0.6=約3.33分です。

比較利用率25%利用率40%
ρ/(1−ρ)1/32/3
平均サービス時間5分5分
平均待ち時間 Wq約1.67分約3.33分
平均応答時間 W約6.67分約8.33分
待ち時間の倍率 = (2/3) ÷ (1/3) = 2 倍

利用率は1.6倍(40/25)ですが、待ち時間は2倍です。この差こそ待ち行列で重要な非線形性です。処理能力や到着のばらつきが同じという条件で比較しています。

利用率の上昇が待ち時間に与える影響(平均サービス時間を5分に固定)
1.7分
25%
3.3分
40%
7.5分
60%
20.0分
80%
45.0分
90%
95.0分
95%

図中の数値はWq=5×ρ/(1−ρ)による理論値です。0.95のとき95分となり、利用率の増加と待ち時間の増加は比例しません。

6. 待ち時間 Wq と応答時間 W を混同しない

平均待ち時間Wqは、列で待つ時間だけです。平均応答時間W(系内時間、sojourn time)は、待ち時間にサービス時間を足します。窓口の性能計測ではどちらをSLAに採用するかが重要です。

W = Wq + 1/μ = 1/(μ − λ)

サービス中の人数も含む「系内」の長さを求めるなら、Wを使います。たとえば注文を送信してから結果を受け取るまでの時間と、CPUの実行待ち時間だけとでは意味が異なります。

7. リトルの法則:人数と時間を結び付ける

安定したシステムでは長期平均の系内人数Lは、実効到着率λと平均系内時間Wの積で表せます。M/M/1に限らず、適切な定常性・保存関係の条件の下で広く成り立つ関係です。

L = λW / Lq = λWq
指標M/M/1の式何を表すか
Wqρ/[μ(1−ρ)]待ち行列内の平均待ち時間
W1/(μ−λ)サービスを含む平均系内時間
Lqρ²/(1−ρ)待っている平均件数
Lρ/(1−ρ)待機中+サービス中の平均件数

たとえばλ=4.8件/時、Wq=1/18時間(約3.33分)ならLq=4.8/18≒0.267件です。平均件数は整数になる必要がありません。短い時間には0件、別の時間には複数件が並ぶからです。

8. 混雑に強いシステム設計の考え方

ITシステムでは「CPU利用率が高いほど効率的」と考えがちですが、ピーク時の待ち時間を小さくしたいなら余裕容量が必要です。利用率80%→95%でWqは、平均サービス時間の4倍から19倍へ増えます。

対策モデル上で変わる要素注意点
処理の高速化・キャッシュμを引き上げるキャッシュミスやロック待ちを別途考慮
到着の平準化・レート制限ピークλを抑えるレート制限は待ちを外部に移す場合がある
サーバーの並列化窓口を複数化M/M/1でなくM/M/cなどで分析
バックプレッシャー過負荷時の投入量を調整棄却・再試行による負荷増に注意
監視・SLO設計待ち時間やキュー長を把握平均だけでなくp95・p99も測る

9. 操作ラボ:利用率を動かして数式を体感

以下のラボではμとρを独立に変え、到着率λを自動計算します。比較する利用率を設定すると平均待ち時間の倍率が更新されます。最初は25%→40%、次に50%→90%を試してみてください。

INTERACTIVE LAB

M/M/1待ち行列・待ち時間計算ラボ

到着率と処理能力の関係を操作して、待ち時間が急増する様子を確かめましょう。単位は「1時間あたりの件数」です。

到着率 λ = μ × ρ = 4.80 件/時

平均サービス時間 = 5.00 分/件

ρ = λ/μ。待ち行列が安定する前提として λ < μ を維持します。

平均待ち時間 Wq

3.33 分

サービス開始まで

平均応答時間 W

8.33 分

待ち+サービス

待ち人数の期待値 Lq

0.27 人

列に並ぶ人数

系内人数の期待値 L

0.67 人

待ち+サービス中

待ち時間の倍率(比較対象 → 現在)

2.00 倍

25%:1.67 分 → 40%:3.33 分。同じサービス率で比較。

利用率と平均待ち時間の関係

03060901200%25%50%75%95%利用率 ρWq(分)

縦軸は120分まで表示。グラフはサービス率を固定したM/M/1の理論値で、シミュレーション実測値ではありません。

系内人数の期待値を絵で見る(概念図)

待ち人数が小さい
→
窓口 1台

表示人数は Lq を丸めたイメージです。Lqは長期平均であり、実際の列の人数は毎回変化します。

検算: Wq = ρ / (μ(1−ρ)) 時間、W = 1 / (μ−λ) 時間、Lq = λWq、L = λW。
注意: このモデルはポアソン到着・指数サービス時間・窓口1台・安定状態などを仮定します。現実の受付、CPU、APIでは単純に当てはまらない場合があります。

10. 他の待ち行列モデルとの違い

モデル到着サービス窓口
M/M/1ポアソン指数分布1
M/M/cポアソン指数分布c台
M/D/1ポアソン一定時間1
M/G/1ポアソン一般のサービス時間分布1

M/D/1は処理時間が一定、M/G/1は処理時間の分布を一般化したモデルです。同じ到着率と平均サービス時間でも、サービス時間のばらつきが違えば待ち時間も変わります。サービス時間の分散を無視してM/M/1の結果を実測値と同一視しないことが重要です。

11. よくある疑問と間違い

Q. 利用率が40%なら6割は暇なのに、なぜ待つの?

長期平均では空き時間があっても、到着や処理時間がランダムに重なる瞬間があるためです。

Q. 利用率を2倍にしたら待ち時間も2倍?

一般には違います。待ち時間はρ/(1−ρ)に比例し、100%に近づくと急増します。

Q. 平均待ち時間が3分なら、全員が3分待つ?

いいえ。平均値です。すぐ処理される人も、かなり長く待つ人もいます。

Q. 利用率100%のWqを計算してよい?

いいえ。定常状態の公式はλ<μが前提です。ρ≥1では有限な定常平均待ち時間を扱えません。

12. まとめ

M/M/1待ち行列の中心は、到着率λ、処理率μ、利用率ρ=λ/μです。Wq=ρ/[μ(1−ρ)] を使えば、単位を合わせて待ち時間を算出できます。負荷が限界に近づくと遅延が非線形に増大することが、性能設計で余裕を持たせる理由です。

参考資料