|
必聴講座ご紹介 Cloud Days Tokyo 2012 エムオーテックス Cloud Days Tokyo 2012 ヴイエムウェア Cloud Days Osaka 2012 アマゾン データ サービス ジャパン |
第10回 パフォーマンス管理・待ち行列理論
出典:日経SYSTEMS 2006年7月号
138ページより
(記事は執筆時の情報に基づいており、現在では異なる場合があります) 待ち時間の謎を解く「待ち行列理論」Webサーバーに負荷がかかるとレスポンス時間が長くなるということは,「待ち行列理論」によって説明がつく。図1左は,Webサーバーでの平均待ち時間(Wq)を計算したものだ。リクエストの平均到着間隔をTa,平均処理時間をTsとすると,Webサーバーの利用率(ρ)と平均待ち時間(Wq)は図中のように表される。この関係に基づき,ρと待ち時間の割合をグラフ化すると,図1右のようになる。グラフの横軸はρで,縦軸は待ち時間(Tsの何倍かかるか)を示す。ρ=0.5の場合は処理時間と等しい(等倍の)待ち時間がかかり,ρ=0.8の場合は同4倍,ρ=0.9の場合は同9倍の待ち時間がかかる。この結果から,Webサーバーの利用率が大きくなるほど,急激に待ち時間が増えると分かる。つまり,Webサーバーに負荷がかかると,レスポンス時間は極端に長くなるのだ。
また,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サーバーは内部でさまざまな多重処理を実行している関係もあり,待ち行列理論の通りにはならないので注意してほしい。
連載新着連載目次へ >>
|