ログメモチップス

チップス

さくらインターネットのVPSでメモリを節約しながらWordPressを運用する設定値メモ

2011年6月7日 by oki_san in チップス, メモ, ログ with 2 Comments

搭載メモリの少ない環境でWordPressを運用していると、ちょくちょくメモリが底をついてしまうので、ApacheとPHPとMySQLの設定を調整。

環境は、さくらインターネットのVPS

512MBメモリのVPSだとこのくらいか。
ちょっとやり過ぎかもしれないので様子を見つつ適宜調整で。

/etc/my.cnf

Inno-DBは使っていないので多少でもメモリ節約。

[mysqld]
#下記の一行を追加
skip-innodb

php.ini

memory_limit = 32M
post_max_size = 8M

32MBもあれば多分問題ないので32MBにします。デフォルトは128MB?だったかな?32〜64の間くらいで問題ないはず

httpd.conf

詳しくは下記を熟読した方がいいに決まってますが・・・

prefork – Apache HTTP サーバ

この MPM は非常に自律的なので、この MPM の設定ディレクティブを 調整する必要はほとんどないでしょう。もっとも重要なことは、 MaxClients が、予想される同時リクエスト数を十分扱えるぐらいは大きいけれども、 全プロセスに十分な物理メモリが確実に行き渡る程度には小さい値にする、 ということです。

とりあえず、設定値を極々小さいものにしてから順に様子を見ていく方向でやってみます。

<IfModule prefork.c>
    StartServers          2
    MinSpareServers       2
    MaxSpareServers       4
    ServerLimit          50
    MaxClients           50
    MaxRequestsPerChild  50
</IfModule>

Timeout 30
KeepAlive On
KeepAliveTimeout 10

特にStartServers/MaxClientsあたりはアクセス数と相談しながら調整したほうが良さそう。
あっMaxClients = ServerLimit にしておいてくださいね。

なんか大幅に節約しすぎてる気もしますが・・・まあ、大量にアクセスのある羨ましいBlogを運営している方は512MBのVPSなんて使わないでしょうし、このBlogのアクセス数くらいならこんなモンです。

設定変更後


アクセスが集中するとメモリ使用量がかなり増加するが・・・


アクセスが止むと、すぐにメモリが解放されて余裕が生まれるようになった。

同時起動プロセス数やKeepAliveのタイムアウトなどは、htopの画面を見ながら適宜調整していくといいですね。今回はちょっとやり過ぎた(アクセスが多くなってきてもメモリを使い切るところまで増えない)かもしれませんが、ここから少しずつ設定を緩和していって、いい感じの設定値を見つけていくことにします。

おまけ

ちなみに上にも画面のスクリーンショットがありますがtopコマンドの拡張版htopはカラフル&色々便利なので愛用しています。

登録されているリポジトリにもよるかもしれませんが

sudo yum install htop

でインストールできるのでみなさんにもオススメしておきます!

追記:後日談

一週間ほど運用してみて、最終的に落ち着いたのが下記の設定

Apache

<IfModule prefork.c>
StartServers       2
MinSpareServers    2
MaxSpareServers    6
ServerLimit       70
MaxClients        70
MaxRequestsPerChild  50
</IfModule>

PHP

memory_limit=64M

アクセス数、負荷に合わせて今後も調整が必要ですが、とりあえずこんな感じです。


Tagged , ,

Related Posts

2 Comments

  1. 匿名2011年6月8日 at 3:50 AMReply

    memory_limit 絡みでエラーが出る場合は40M~64MB位の間で調整の必要がありそう。メモリを多く使う場合32Mでは画面が真っ白になったりPHPエラーが出たりする可能性あります。

  2. さくらVPS+WordPress運用:apache設定をチューニングして余らせたメモリをMySQLのquery_cacheに充てる | ログメモチップス2012年4月4日 at 11:09 PMReply

    [...] 先日公開した、さくらインターネットのVPSでメモリを節約しながらWordPressを運用する設定値メモというエントリで、メモリ512MBのVPS環境でWordPressを動かす際のApache&PHP周りのミニマム [...]

Leave a reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

記事を検索

人気の記事

書いてる人
okisanjp
渋谷で自社Webサービスの開発やインフラを考えています。 日頃のログ・メモ・チップスを不定期で公開中。詳細・コンタクト方法等はプロフィールページをご覧下さいませ。
oki_san@Twitter : Follow歓迎
ダーツ用品はココで買ってます
ちょくちょくチェックしてます