Apacheをチューニング(KeepAlive)

2008.10.15 01:15 | server, apache

ウェブサーバのレスポンスが遅くなったときにどのようにしたら早くなるのか。
一時期かなり悩み悩み、色々試行錯誤をしたのですが、メモ程度にやったことを書いておこうと思います。
遅くなっているウェブアプリケーションによって、設定方法も変える必要がかなりあって、あまりにもパターンがありすぎる感があるけども、何かの参考になれば・・・

設定対象のファイルは httpd.conf になります。

今日は KeepAlive の設定について。
ウェブサーバは基本的には1ファイルごとにセッションを接続ー切断を繰り返して、処理を行うものですが、この設定を加えてあげることでセッションを切断せずに通信できるようになります。

KeepAlive On
MaxKeepAliveRequests 30
KeepAliveTimeout 5

上記設定では、30リクエストごとにいったん切断を行い、30リクエストに満たなくても5秒間でセッションを切断する設定になっています。
注意すべき点としては、MaxKeepAliveRequestsをきちんと設定してあげることです。
ページの表示が完了するまでに、画像ファイルやCSSなどのファイルも含めて、そのサーバから何ファイル出力されるのかを把握する必要があります。一番多いリクエストに合わせて、少々余裕を持たせた数字にしておくのがいいと思います。
セッションを保持したままにするということは、その間はプロセスが占有されているままになるということなので、これもまた注意が必要です。なので、KeepAliveTimeoutを設定して、リクエストが来なくなったらリリースしてあげる仕組みになっています。

ブログパーツのリクエストが多い場合や、携帯サイトの場合はあまりこの設定は意味がないかもしれません。ブログパーツはswfファイルの読み込みのみだったりするので、1リクエストで終了してしまう方が多いと思いますし、携帯は回線が遅いので、一回ずつ処理をしたほうが、プロセスをガメる量が減らせますし。

実環境でテストしながらでないとなんともいえない部分なので、参考程度ということで。


次回は prefork とか行ってみようと思います。

この記事へのコメント

コメントはありません

タグ一覧