さくら 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 をチューニング
これで、かなり高速・軽量になったかと思います。
あとは、状況に合わせて細かな設定変更をしていくといいと思います。
0 件のコメント:
コメントを投稿