ここ数ヵ月間、サイトのパフォーマンスが良くない状況がずっと続いていました・・・。
特に原因も見当たらないのでレンタルサーバに引っ越ししよかなーと悩んでいましたが、
一念発起してサーバの設定を見直したりいじったりしてみた所、まともになったじゃありませんか。
まぁWordpressに限った話じゃなかったり、今更的な事ばかりでしたが、何かの参考になれば幸いです。
Nginxの設定見直し
とりあえず、Webサーバから取りかかりました。
TCP SocketsをUNIX Socketsに変更
多少変化するという話だったり、どうせ1台でしか運用してないので、UNIX Socketsに変えます。
参考
Nginx and PHP-FastCGI on Debian 6 (Squeeze) – Linode Library
ついでに、init.dにぶち込むスクリプトも上のに書き換えました。
proxy cacheを有効にする
いきなり今回の大目玉。Nginxのproxy cacheを今更有効にして、サーバでもキャッシュさせます。
リソースに余裕があればバックエンドはApacheでもいいのですが、さくらのVPS 512に期待してはいけません。
Nginxの二段構えにして、節約します。
設定は参考URLの設定とほぼ同じです。スマートフォン向けを別キャッシュにするのを忘れると、テーマを分けている場合(WPTouch使ってるのも同じ)にややこしい事になります。
参考
WordPress サイトに nginx を導入する : dogmap.jp
WordPressを100倍速くする! MySQLの調整やnginx proxy cache | KRAY Inc
MySQLの設定見直し
ついでにMySQLも見直しました。
key_buffer = 128M
max_allowed_packet = 16M
table_cache = 512
query_cache_limit = 4M
query_cache_size = 128M
sort_buffer_size = 32M
myisam_sort_buffer = 32M
tmp_table_size = 64MB
wait_timeout = 60
参考
WordPressを100倍速くする! MySQLの調整やnginx proxy cache | KRAY Inc
MySQLのパラメータ調整 – フツーな日常
ついでにプロセス見直し
ps axしたりtopで見直してたりすると・・・
spawn-fcgiとPHP-FPMがなぜか同時に動いてる(´・ω・`)
FPMを起動しないようにしていたはずが、何故か動き始めていたようです。
これが一番の原因だったりして・・・?
あと、メールも使っていなかったり貴重なリソースを食いつぶすのがいくつかあったので止めました。
おわり
proxy cacheが効いたのか余計なプロセスを消したからなのかわかりませんが、まともなレベルに戻って安心しました。
もしかして、今のところ関係ない設定までしていたかもしれませんが、後になって生きてくる事を願います。
自分で完全に管理している以上、1回で安心せず定期的に見直さないといけないんだなーと改めて思いました。
おまけ:Wordpress側の高速化プラグイン
WordPress › MO Cache « WordPress Plugins(日本語環境であれば入れておいて損はない)
WordPress Optimization | W3 Total Cache | W3 EDGE | Boston, MA(APCへキャッシュ、Minifyは未使用)
WordPressを高速化するプラグインを作りました | Stocker.jp / diary(WP Hyper Response)