WordPressを動かしてるこのサーバが重くてどうしようもなくなってきたので、メモリを節約するようチューニングしてみました。試してみたことをメモ。
サーバ環境:
- メモリ256MBの軟弱VPSです。
- Ubuntu 9.04
かなり適当にやっつけているので、参考にならん!って方は僕が参考にしたこちらなんかをどうぞ:
Optimize your Apache VPS for WordPress | Jestro
Apacheのモジュールを減らす
…と思ったけど無駄なものは最初から何もなかった。
php.ini
影響しそうなのはmemory_limit。 PHPがApacheと組んで消費するメモリはmemory_limit*httpd.confのMaxClientsとのことなので、これを適当に減らしてみる。あと、memory_limitを変更したらpost_max_sizeがそれを超えないように設定すべきとのことだけど、十分下回ってるようなので今は据え置き。
Before:
memory_limit = 32M post_max_size = 8M
After:
memory_limit = 16M post_max_size = 8M
httpd.conf
さっき触れたMaxClients。Ubuntu上のApache2+PHPはデフォルトでmpm_preforkを使ってるようなので、その関連設定を変更。値は適当です。
Before:
StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0
After:
StartServers 2 MinSpareServers 2 MaxSpareServers 4 MaxClients 50 MaxRequestsPerChild 0
本当はサーバのメモリが256MBとケチくさいのでMaxClients 50は高すぎるんだろうけども。
次はタイムアウト。短く切ってやる。ついでにKeepAliveのタイムアウトも短く。ここも適当…。
Before:
Timeout 300 KeepAliveTimeout 15
After:
Timeout 30 KeepAliveTimeout 10
結果
だいぶ適当に数字を減らしただけなんだけども、十分使い物になるレベルにまで軽くなった。面倒だから特に検証もしてないけど、memory_limitとStartServersとMaxSpareServersが一番効いてるような気がする。ブログのアクセス数は大したことないから、たぶんこれでしばらく持つんじゃないだろうか。
Pingback: さくらVPSのWebページ表示速度を上げる方法 つづき | 水色のドア