コネクション棄却率と応答時間

2008年8月27日(水)
佐竹 伸介

到着リクエスト数増大による棄却率への影響

 ここまで説明したさまざまなWebサイトの特性やユーザーの挙動特性を知ることができれば、モデル化を行うことが可能である。よって解析またはシミュレーションにより、棄却率や応答時間を算出することができる。KeepAliveやMaxClientなどを設定後、すぐに実証実験を行っても構わないが、解析やシミュレーションにより期待される結果を知り、その後、実証実験を行った方が効果的である。

 ここでは到着リクエスト数の増大が棄却率およびシステム時間(サーバー処理時間)に及ぼす影響について解析結果を示す。この結果により、本連載で述べてきたことを証明することができる。

 図3は、サーバー1台で最大同時接続数をKと設定した場合における「(1)コネクション棄却率(Y軸対数表示)」および「(2)平均システム時間の性能曲線」を示す。コネクション棄却率とは、コネクション確立要求がサービスを受けられず、棄却される確率を表す。また、平均システム時間とはサーバーにリクエストが到着してから、そのリクエストに対する処理が完了するまでに要する時間のことである。横軸はトラヒック量(到着するリクエスト量)を表す。

 図3の(1)から、K(同時接続可能なコネクション数)が大きくなるほど、棄却率が小さくなっていることが確認できる。しかし、Kの値に関わらず、トラヒック量が大きくなるに従い、棄却率は急激に上昇し、最終的には1に収束していることがわかる。これは(2)を参照していただければわかるが、K、トラヒック量ともに大きくなることで、個々のリクエストに対するシステム滞在時間が増大するからである。すなわち、コネクション確立から解放までに要する時間が長くなり、新規のコネクション確立要求を受け入れにくくなっているからである。

 このような結果を示すことで、許容できる応答時間と棄却率を決定し、同時接続数の最大値を設定することが可能となる。予想されるトラヒック量、許容できる応答時間および棄却率を決定し、2つの性能曲線から同時接続数を決定すればよい。

 しかし、同時接続数が決定できない場合は、所望する応答時間・棄却率のどちらか一方、または両方について要求する性能を下げるしかない。性能を下げることができない、または、同時接続数が少ない場合は、もはやそのサーバーで処理することは困難である。よって、高性能なサーバーに変更する、もしくは複数台のWebサーバーによるクラスタ構成を検討するなどの対策を講じなければならない。

最後に

 本連載では、3回にわたり「高速かつ確実なWebサーバー」という題目のもと、Webサーバーにおけるコネクション受付制御について説明した。

 本連載を通してWebサーバーの性能を最大限に利用し最大のパフォーマンスを得るためには、サーバーだけでなくユーザーの挙動なども考慮しなければならないことを認識し、今後のWebサーバー構築に生かしていただければ幸いである。

平成5年岡山電業(株)入社後、ネットワークシステムの提案・設計を主たる業務として従事。平成15年岡山県立大学大学院入学。平成20年同大学院修了。主にWebサーバシステムの負荷分散に関する研究を行っている。博士(工学)。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています