注目の書籍

好評発売中!

プロマネやってはいけない

プロマネやってはいけない
計画・管理偏
現場のノウハウが
詰まった“禁じ手集”

必聴講座ご紹介

Cloud Days Tokyo 2012
クラウド時代を勝ち抜く企業戦略を考える

エムオーテックス


Cloud Days Tokyo 2012
クラウド時代の企業インフラとユーザー環境の姿

ヴイエムウェア


Cloud Days Osaka 2012
クラウドでIT維新を〜ビジネスを加速させるベストプラクティス

アマゾン データ サービス ジャパン

情報システム

Webアーキテクチャ設計術

日経SYSTEMS

第10回 パフォーマンス管理・待ち行列理論

2007/12/07
出典:日経SYSTEMS 2006年7月号  138ページより
(記事は執筆時の情報に基づいており、現在では異なる場合があります)

待ち時間の謎を解く「待ち行列理論」

 Webサーバーに負荷がかかるとレスポンス時間が長くなるということは,「待ち行列理論」によって説明がつく。図1左は,Webサーバーでの平均待ち時間(Wq)を計算したものだ。リクエストの平均到着間隔をTa,平均処理時間をTsとすると,Webサーバーの利用率(ρ)と平均待ち時間(Wq)は図中のように表される。この関係に基づき,ρと待ち時間の割合をグラフ化すると,図1右のようになる。グラフの横軸はρで,縦軸は待ち時間(Tsの何倍かかるか)を示す。ρ=0.5の場合は処理時間と等しい(等倍の)待ち時間がかかり,ρ=0.8の場合は同4倍,ρ=0.9の場合は同9倍の待ち時間がかかる。この結果から,Webサーバーの利用率が大きくなるほど,急激に待ち時間が増えると分かる。つまり,Webサーバーに負荷がかかると,レスポンス時間は極端に長くなるのだ。

図1●待ち行列理論
図1●待ち行列理論
待ち行列理論とは,不特定多数の人や物が限られた資源を利用する場合の混雑現象などを数学的に解析したもの。サーバーでは多重処理されるので,単純な待ち行列理論に基づいて考えることはできないが,処理に要する時間などを概算する上で参考にはなる
[画像のクリックで拡大表示]

 また,Wqの算出式に注目すると,処理時間を短くすればρが小さくなり,Tsも短縮され,結果的に待ち時間が大幅に短縮することが分かる。同じ割合でTaを延ばすよりも,待ち時間の短縮効果は大きい。このことは,サーバーを増設するよりも,サーバーの単体性能を上げる(≒処理時間を短縮する)方が,待ち時間を減らす効果が大きいことを示している。

 例えば,サーバー1台の場合をTa=0.2秒,Ts=0.1秒とすると,サーバー2台を用意した場合はTa=0.4秒,Ts=0.1秒と同じことなので,ρ=0.25となり,待ち時間は0.033秒。これに対してサーバーの処理能力を倍にすると,Ta=0.2秒,Ts=0.05秒となる。ρ=0.25となり,待ち時間は0.0165秒。ρは同じ0.25でも,Tsの半減とともに待ち時間も半分になる。この計算結果から,数学的にはスケールアップの方がスケールアウトよりも効率よくパフォーマンスを高められるはずだ。ただし,現実のWebサーバーは内部でさまざまな多重処理を実行している関係もあり,待ち行列理論の通りにはならないので注意してほしい。

高安 厚思(たかやす あつし) オープンストリーム テクニカルコンピテンシーユニット 主管システムズアーキテクト
銀行系シンクタンクでオブジェクト指向技術の研究に携わった後,大手SI業者でアーキテクチャ構築やプロセス研究を担当。現職ではSOA(Service Oriented Architecture)を中心とする研究開発とアーキテクチャ構築に従事している

この記事に対するfacebookコメント

nikkeibpITpro

読みましたか? 〜 未読記事をご紹介