Wordpressのメモリ消費を節約する

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:

<ifmodule mpm_prefork_module>
     StartServers          5
     MinSpareServers       5
     MaxSpareServers      10
     MaxClients          150
     MaxRequestsPerChild   0
</ifmodule>

After:

<ifmodule mpm_prefork_module>
     StartServers          2
     MinSpareServers       2
     MaxSpareServers       4
     MaxClients           50
     MaxRequestsPerChild   0
</ifmodule>

本当はサーバのメモリが256MBとケチくさいのでMaxClients 50は高すぎるんだろうけども。

次はタイムアウト。短く切ってやる。ついでにKeepAliveのタイムアウトも短く。ここも適当…。

Before:

Timeout 300
KeepAliveTimeout 15

After:

Timeout 30
KeepAliveTimeout 10

結果

だいぶ適当に数字を減らしただけなんだけども、十分使い物になるレベルにまで軽くなった。面倒だから特に検証もしてないけど、memory_limitとStartServersとMaxSpareServersが一番効いてるような気がする。ブログのアクセス数は大したことないから、たぶんこれでしばらく持つんじゃないだろうか。

Categories: HowTo's, Tips and Tricks | Tagged , | Trackback URL |

2 Comments

  1. Posted 2009-12-24 at 20:27 | Permalink

    これ困ってた!助かります。
    ちなみに、僕はswapファイルをつくることで対処していました。
    lighttpdを使ってもfast-cgiでごっそり取られるので、webサーバはapache2(prefork)のままで。

  2. merikonjatta
    Posted 2009-12-24 at 23:13 | Permalink

    うちの場合Swap領域は十分あったけどスラッシングがひどかった。

Post a Comment

Your email is never published nor shared.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>