待ち行列は、到着する仕事と処理する能力の関係から、処理待ちや応答時間を分析する考え方です。レジ・プリンタ・サーバーの処理待ちが例になります。ここでは、窓口が一つのM/M/1モデルの基本を扱います。
到着率・サービス率・利用率
| 記号 | 意味 | 例 |
|---|---|---|
| λ | 単位時間当たりの平均到着数 | 8件/秒 |
| μ | 窓口が連続して処理できる平均件数 | 10件/秒 |
| Ts=1/μ | 平均サービス時間 | 0.1秒/件 |
| ρ=λ/μ | 窓口の利用率 | 0.8=80% |
サービス率は、空いている時間も含めた実測の完了件数とは区別します。到着率とサービス率の時間単位をそろえて計算しましょう。
M/M/1の前提
基本のM/M/1では、到着がポアソン過程に従い、サービス時間が指数分布に従い、窓口は一つです。ここでは待ち場所や到着母集団に上限を設けず、先着順(FIFO)で処理し、ρ<1の定常状態を考えます。待ち行列には別のモデルや優先度付きの処理もあり、すべての処理待ちに同じ式を使えるわけではありません。
待ち時間と応答時間を区別
| 量 | 何を含むか | M/M/1の平均値 |
|---|---|---|
| Wq | 処理開始までの待ち | ρ×Ts÷(1−ρ) |
| W | 待ち+サービス時間 | Ts÷(1−ρ)=Wq+Ts |
λ=8件/秒、μ=10件/秒なら、ρ=0.8、Ts=0.1秒です。Wq=0.8×0.1÷0.2=0.4秒、W=0.1÷0.2=0.5秒になります。求めるものが「待ち」か「処理を含む応答」かを確認してください。
利用率が高いと待ちが増える
平均サービス時間を0.1秒に固定したとき、利用率50%ならWq=0.1秒、80%なら0.4秒、90%なら0.9秒です。利用率と待ち時間は単純な比例関係ではありません。基本のM/M/1ではρが1以上になると、有限の平均待ち時間を持つ定常状態は成立しません。
改善を考えるときの注意
処理能力を上げる、負荷を減らす、窓口を増やすなどが候補になります。ただし、複数窓口のM/M/cへ移る場合は利用率や待ち時間の式も変わります。ボトルネックは全体の処理を制限している箇所であり、CPUだけを速くしても改善しない場合があります。
確認問題
到着率8件/秒、サービス率10件/秒の利用率と、上記M/M/1の平均応答時間はいくつでしょうか?
解答・解説を見る
利用率は8÷10=0.8(80%)。平均サービス時間は0.1秒なので、平均応答時間は0.1÷(1−0.8)=0.5秒です。待ち時間だけなら0.4秒です。
M/M/1の計算を続けて練習
無料noteでは、M/M/1の考え方を基礎から解説しています。利用率を求めた後に、待ち時間・応答時間の式を使い分ける練習へ進みましょう。
ほかの分野は、資格・目的別のnote教材ナビから選べます。

コメント