Home

技術系のメモと日々の雑感

Apache の MaxClients と KeepAliveTimeout の関係

昨日、Apache の設定を見直していた。
とあるサーバで負荷が上がって、その原因が Apache にあるのはすぐに分かった。
不思議だったのは、一昨日 MaxClients をデフォルトの 150 から 30 に減らしたのに、状況がさらに悪化したこと。
負荷上昇の原因は空きメモリ不足だと思ったのだが、違ったらしい。
その後、設定を眺めていると、KeepAliveTimeout を 30 にしていたことに気がついた。
ずっと前に、ロクに考えずに決めた値が残っていたのだ。
悪い予感がしたので Web で情報を漁ってみると、やはりこの 30 という値は問題外だった。
色々議論があるようだが、思い切って 1 に設定。
普通の(?)Web サーバならもう少し大きな値の方がいいかもしれない。
このサーバはちょっと特殊で、メモリの量が限られているのと、アクセスしてくるクライアントが KeepAlive を使ってない可能性が高かったからだ。
効果はバッチリで、スムーズにリクエストをさばけるようになった。
これでやっと安心して眠れる・・・。

この記事に対するトラックバック

この記事のトラックバックURL

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

この記事にコメントする

管理者にだけ表示を許可する