Serverのレスポンスが時間が経つにつれて遅くなる現象に見舞われていた。httpdをリスタートすると、また早くなる。そこでmuninをインストールしサーバの状態を監視してみることにした。その結果、時間経過とともに、iowaitが増え、さらにswapも増えていることが分かった。レスポンスが遅くなった原因は、おそらく使用メモリが増え続けて、メモリリークのような状態になっていたことだろう。ことで、apacheの設定をいじって、改善したことをメモ。Module)リクエストの処理部分。workerなどがあるPHPを使うならpreforceがいいとのことhttpd.confの設定/etc/httpd/conf/httpd.confMPMのpreforkの設定にMaxRequestsPerChildがある。これは、子プロセスが扱うリクエスト数の制限数を設定する。設定した値までプロセスが存在し続けるようだ。したがって、メモリの割に大きな値を設定してしまうと、swapの領域までメモリを食い続けてしまうってことらしい。そこで、この値を少なくすることにした。4000に設定されていたものを1000に変更すると、swapの領域がかなり減った!!200とか100に設定している人もいたので、様子を見ながら変更しようと思う。PHPで作る携帯サイトデベロッパーズガイドを参考に、以下のツールもインストールして速度を向上させた。CacheAPCと略されるPHPのextension実行コードをキャッシュしてくれるインストール等は書籍を参考に。最小0.5秒ぐらいにまで減った。早くに対策をするべきだった。