2011/02/02

さくら VPS で Wordpress のチューニング

さくら VPS はメモリが 512M とちょっと少なめです。Swap が有るためメモリオーバーで即ダウンするとこはありませんが、すぐに Swap メモリに手を出し極端なパフォーマンス低下を招いたりします。

Wordpress でサイト構築した際は、チューニングを事前に実施しておくことで、Swap を食いつぶして Apache がアクセス不能になって焦る、ということがないようにしたいものですね。

APC - PHP アクセラレータ

Wordpress は PHP, MySQL を使用しています。
まずは PHP のチューニングということで、定評のある APC をインストールします。

APC(Alternative PHP Cache) は、PHPの中間コードのキャッシュや最適化を行う拡張モジュールです。

インストールは、 yum で。Remiリポジトリからインストールするので、予め有効にしておきます。

$ sudo yum search php-pecl-apc
php-pecl-apc.x86_64 : APC caches and optimizes PHP intermediate code

$ sudo yum install php-pecl-apc

設定(/etc/php.d/apc.ini)はデフォルトを使用し、インストール後は httpd を再起動します。

$ sudo /etc/rc.d/init.d/httpd restart

APC の動作確認用ファイルをコピーして、ブラウザから動作チェックできるようにします。
なお、管理者情報はデフォルトから変更しておきます。

$ cp /usr/share/doc/php-pecl-apc-3.0.19/apc.php /var/www/html/www.domain.com/
$ sudo vi /var/www/html/www.domain.com/apc.php
defaults('ADMIN_USERNAME','apc');
defaults('ADMIN_PASSWORD','password');

MySQL のチューニング

次は、MySQL の設定を変更し、キャッシュとバッファの設定をします。

$ sudo vi /etc/my.cnf
[mysqld]
query_cache_limit=1M
query_cache_min_res_unit=4k
query_cache_size=24M
query_cache_type=1
key_buffer = 16M
sort_buffer_size = 1M
read_buffer_size = 256K

$ sudo /etc/rc.d/init.d/mysqld restart

Apache のチューニング

次は、Apache の設定の見直し。

$ sudo vi /etc/httpd/conf/httpd.conf

Timeout 45                  #接続を切るまでの時間
KeepAlive On                #接続の継続を許可
KeepAliveTimeout 3          #継続時間

StartServers       5        #起動時のプロセス数
MinSpareServers    5        #待機プロセス数の最小個数
MaxSpareServers   10        #待機プロセス数の最大個数
ServerLimit       64        #プロセス数の上限
MaxClients        64        #稼動プロセスの最大個数
MaxRequestsPerChild  4000   #一つのプロセスが実行するリクエスト数


$ sudo /etc/rc.d/init.d/httpd restart

ついでに、PHP の設定で、 zlib を有効にし、転送速度を向上させておきます。

$ sudo vi /etc/php.ini

zlib.output_compression = On

WP Super Cache - Wordpress プラグイン

最後に、Wordpress 自身のチューニングで、WP Super Cache というプラグインをインストールします。

プラグインのインストールは、Wordpress のダッシュボードからインストール出来ます。

インストール後は、設定ページから Caching On にすると有効になります。

まとめ

  • APC で PHP のチューニング
  • キャッシュとバッファの設定で、MySQL をチューニング
  • メモリに合わせて、Apache をチューニング
  • WP Super Cache で、Wordpress をチューニング

これで、かなり高速・軽量になったかと思います。
あとは、状況に合わせて細かな設定変更をしていくといいと思います。

 

参考
AKIBE - さくらのVPS CentOSでサーバ構築 13 – パフォーマンス

0 件のコメント: