例えば、1台のネットワーク・プリンタに複数の要求が並んで順番を待っています。
このとき、要求を送信してから印刷が完了するまでの時間は「(プリンタが使用可能になるのを)待っている時間」、「プリンタを使用している時間」、「その他の時間(通信時間など)」の合計になります。
ここで待っている時間と、使用している時間、および要求が到着する間隔に着目して、これらの関係を理論式で推測していくのが待ち行列理論です。
M/M/1というのはケンドールの記法で待ち行列のモデルで、以下の三つの条件が成り立っている状態を指します。
① サービス要求の到着間隔がランダム(ポアゾン分布)
② 窓口を使用する時間は要求ごとにランダム(指数分布)
③ 待ち行列のサービス窓口は1個
※ 約束事: 行列へ割り込んだり、列の途中で抜け出すことは考えない。
サービス要求は到着順に受け付ける。
利用率をρ(ロー)、到着率をλ(ラムダ)、サービス率をμ(ミュー)とした場合、次の式が成り立ちます。
例えば、Webサーバへのアクセスの単位時間を1時間にした場合、到着するサービス要求が12件、サーバーが処理できる要求数が20件だった場合の利用率は、12÷20=0.6ということになります。
M/M/1の待ち行列において、待ち時間をTw、平均サービス時間をTsとしたとき、次の式が成り立ちます。
例えば、利用率が0.6で平均サービス時間が3分の場合、上記の式に当てはめると、
0.6÷(1-0.6)×3(分)= 4.5(分)となります。