bottleneck: ボトルネック
上智大学 伊藤 潔
2009年5月1日
bottleneck 「ボトルネック」は,本来は,瓶の首のことで,転じて,交通の運行や進行を妨げるものを意味します.「隘路」と訳されることもあります.さらに,活動や仕事の進行を妨げるものを意味します.
あるシステムに外から人や要求が入ります.ある時間,そこに滞在してサービスを受けて出て行きます.複数の人や要求がそのシステムに入るとします.そのシステムには,人や要求に対してサービスするために,複数の独立に稼働するresource
「資源」があります.人に対するシステムでは,この資源は,counter
「窓口」で,コンピュータで作られた情報システムでは,資源は,サーバ,大容量の記憶媒体,プリンタなどになります.システムの中で,複数の資源は結合されて,人や要求に対してサービスしています.人や要求は,システム内の資源に順次流れていくわけで,そこにボトルネックが生じる可能性があります.
システムに入る人や要求は,一般にtransaction 「トランザクション」と呼ばれ,システムに対するload
「負荷」になります.システムはこの負荷を処理していきます.負荷のかかり方は,トランザクションのarrival
rate 「到着率」,すなわち,単位時間あたりのトランザクションの到着個数や,その逆数
である,average
inter-arrival time 「平均到着時間間隔」で表されます.システムの処理能力は,throughput
「スループット」,すなわち,システムが単位時間あたり何個トランザクションを処理できるかで表します.逆数は,
average
inter-departure time 「平均完了時間間隔」 です.
システムに対する負荷が大きいと,システムは混雑します.その結果,システムから出てくるスループットが低下します.このとき,システム内の資源のどれかにボトルネックが生じている可能性があります.
資源の処理能力は,servicing rate
「サービス率」,すなわち,その資源が単位時間あたり,トランザクションを何個処理できるかで表します.その逆数は,average
service time 「平均サービス時間」になります.サービス率は,処理能力ですが,現実に負荷が与えられたときに,どの程度稼働しているかを表すために,utilization
rate「稼働率」が使われます.混雑しているときは,この稼働率は大きくなり,目一杯働いている時は,稼働率は1に極めて近くなります.このような時,その資源は,システム内でのボトルネックになります.ボトルネックの資源の前には,処理待ちのトランザクションが並びます.どれ位並んでいるかを長さで表すと,queue
length「待ち行列長」であり,時間で表すと,waiting
time「待ち時間」になります.
関連項目は,,utilization rate: 稼働率, use rate: 使用率, occupation rate: 占有率の項,queuing model「待ち行列モデル」の直感的な理解のために の項,accumulation, average: 累積と平均 の項にあります.
bottleneck | ボトルネック,隘路 | ||
resource | 資源 | ||
counter | 窓口 | ||
transaction | トランザクション | ||
load | 負荷 | ||
arrival rate | 到着率 | ||
inter-arrival time | 到着時間間隔 | ||
throughput | スループット | ||
inter-departure time | 完了時間間隔 | ||
servicing rate | サービス率 | ||
average service time | サービス時間 | ||
utilization rate | 稼働率 | ||
queue length | 待ち行列長 | ||
waiting time | 待ち時間 | ||