KeepAliveについて考える
「KeepAlive設定のon/offの違いだけでサーバのキャパシティが数倍違ってくる」。大規模サイトならではの経験則です。ApacheやIIS等、一般的なWEBサーバでは通常KeepAliveの設定ができます。この設定はアクセスが少ないWEBサーバの場合にはonでもoffにしても大差がないため、小規模サイト運営の経験しかない管理者はこの設定についてあまり深く考えない場合が多いと思います。しかし大規模サイトではこの設定を誤るとサーバのキャパシティをすぐに超えてしまうので要注意です。
【一般的にonとoffのどっちがよいの?】
あくまでも私の大規模サイト運用上での経験則ですが、offにしておいたほうが安全であると感じています。例をお見せしましょう。これは非常にアクセス数の多いWEBサーバの例です。
KeepAliveがoffの時にはTCPコネクション数が少なく押さえられていますが、onにした途端TCPコネクション数がうなぎ昇りとなっています。これはTCPコネクション数がサーバのキャパシティを超えてしまう可能性があることを示しています。
【KeepAliveをonにするのがよい場面はないの?】
もちろんあります。TCPコネクション数の見込みが少ない場合、すなわちアクセス数が少ないかもしくはサーバ台数がたくさんあって1台毎のコネクション数が少ない場合はKeepAliveをonにしたほうがよいです。通常KeepAliveをonにするとTCPコネクションを張りなおすコストが減ることでレスポンスが良くなることが期待されます。
「WEBサーバ 【人気】」カテゴリの記事
- WEB上からapacheの生ログを見ることができるようにするプログラム(2010.10.28)
- KeepAliveについて考える(2004.06.11)
- メンテナンス画面を簡単に出してみる(2007.07.09)
- httpd.confがどこにあるか簡単に見つけ出す方法(2008.11.12)
- サーバにアンチウィルスソフトを入れない選択(2009.03.17)


Comments