
KUSANAGIを使ってWordPressサイトを運用しているのですが、少し前から表示が遅くなる現象が発生していました。同じようなトラブルに遭遇している人がいるかはわかりませんが、とりあえず解決したので書き残しておきます。
KUSANAGIでWordPressの表示が遅くなる問題
ちょうど1年ほど前にConoHa VPSでKUSANAGIを使ってWordPress用のサーバーを構築しました。当初は「超高速」と銘打ってる通りサクサク表示されていたのですが、徐々に表示が遅くなってきました。
正確に言うと、表示されるのが極端に遅くなることがある、という状況です。常に遅いわけではありませんでした。
KUSANAGIのWordPressでは、admin barに表示にかかった時間が表示される機能があります。その時間で確認すると、0.1秒以下で表示されることが多いのですが、ときどき表示に数秒以上かかることがありました。ダッシュボードの表示は特に遅くて、表示されるまでに10秒以上かかるケースも。
運用し続けていくうちにWordPressが遅くなるというのはよくある話かもしれませんが、それにしても極端すぎます。
サーバーのメモリーは十分か?
真っ先に疑ったのは、契約しているVPSのメモリーが不足しているのではないか、といことです。
KUSANAGIの推奨スペックは、
推奨環境: メモリ4GB以上
だそうなので、ConoHa VPSで4GBに設定済みです。
念のためにfreeコマンドで確認してみましたが、4GB中2〜3GBほど使われているという状況です。メモリーが不足しているということは無いと判断しました。
サーバーのCPU負荷は?
メモリーは大丈夫ということで、次にCPU負荷が高すぎないかをtopコマンドで確認してみました。
ですが、load averageが0.01〜0.05ほどで、こちらは余裕すぎます。
エラーログは?
nginxのログやsyslogなどを確認してみましたが、やばそうなエラーは確認できませんでした。
というか、正直に言ってログを見ても分からん。サーバー運用の経験不足です、はい。
WordPressをインストールしすぎか?
実は、1台のサーバーで10個のWordPressを運用していました。それぞれKUSANAGIのプロビジョニングを作っています。
多すぎだろ!って突っ込まれそうですが、まぁアクセス数はどれも多くないので…
とはいえ、前述の通りメモリーもCPU負荷も問題がないなので、単純にWordPressをインストールしすぎということも無い気がします。
ゼロからサーバーを再構築してみた
原因を特定するのがもう面倒くさくなったので、サーバーを構築し直すことに決めました。
KUSANAGIがLet’s Encryptに対応する前からアップデートしつつ使ってて、SSLを使うためにnginxの設定ファイルをいじったりしていたので、いっそゼロから再構築することで問題が解決するかもしれないと考えたわけです。
サクッとサーバーを作り直せるのがConoHa VPSみたいなサービスのメリットだと思います。
実際、KUSANAGIの初期セットアップをすぐ終わったのですが、バックアップした10サイト分のWordPressのデータを移行するのは大変です。結局、日曜日が潰れました。
で、問題は解決したのかしばらく様子を見ていたのですが…
表示が遅くなる現象が再発!
丸一日かけてサーバー移行作業をした意味は無い、という残念な結果になりました。ぐぬぬ。
そして解決へ
KUSANAGIの設定をあらためて確認していたところ、そういえばhhvm以外を試したことがないことに思い当たりました。kusanagiコマンドで簡単に、hhvm、php7、php-fpmの切り替えをできるのですが、ずっとデフォルトのhhvmを使っています。
php7よりhhvmの方が速いんじゃないかとなんとなく思ってましたが、なんとなくphp7に切り替えてみると…
なんと、問題が解決しました(笑
「超高速」な環境が戻ってきたわけです。その後、極端に表示が遅くなる現象は起きなくなりました。ダッシュボードの操作も早くてかなり快適です。
はっきりとした原因は分かっていません。思い当たる方がいらっしゃいましたら後学のために教えてください…
ただ、hhvmとphp7にそこまで表示速度の違いがあるとは思えません。なので、相性問題的な何かが起きていたのだと思います。
以上、root権限でkusanagi php7
とコマンドを打ったら問題が解決したという話でした。
P.S.
何をどうやったらKUSANAGI公式サイトみたいに0.01秒を切れるんだ…
おかげさまで速くなりました。ありがとうございます。