私が担当した案件で、さくらインターネット・スタンダードプランを利用しているサイトがありますが、どうもサイト全体が重たい様子なので、原因究明の為、調査をしました。
キャッシュの利用とプラグインの停止
当初はキャッシュを使う予定はなかったのですが、何か変わることを期待して導入しました。Wordpressでよく使われるプラグインではなく、.htaccessによる制御です。
mod_expiresというApatchのモジュールを利用するとできます。ついでにmod_deflateというモジュールで圧縮もかけておきます。またよくある原因としてプラグインが重たい可能性があるので、これも怪しい箇所は全て停止させます。
結果・・・特に変わらず。
Debug Bar でパフォーマンスを測定
体感として間違いなく遅いですが、実際数値として見る為に Debug Bar というプラグインを使ってみました。拡張機能でDebug Bar Extender、Debug Bar Slow Actionsという便利で見やすいプラグインもあるので、それも同じく導入しておきます。
パフォーマンス(通常時)
結果として、数値としてかなり遅いものが出ました。
ACTIONS EXECUTION TIME 処理時間はおよそ3.3秒。
Chromeの開発者ツールなどで確認すると、実際のページ全体の読み込み時間はおよそ倍の5~6秒は平均でかかります。
パフォーマンス(遅延時)
昼頃や夕方などの混む時間は、時より悲惨な数値が出ます。
ACTIONS EXECUTION TIME 処理時間はおよそ12秒。
さすがに遅すぎるのでサーバーに原因がある可能性を疑いました。
別サーバーに同環境を構築して比較
さくらスタンダード以外に、CPIのシェアードプランというテスト環境を用意しました。ここでほぼ同じ環境を用意し検証します。
そのためにまずバックアップを取る必要がありますが、ここでプラグインの1つ「All-in-One WP Migration」をお薦めします。
手順等は調べると分かりますが、簡単操作で環境のバックアップ&復元が可能です。移行時にDBの中身を書き換える方法も前はありましたが、そういう手間も不要で、非常に優秀なプラグインだと感じました。
パフォーマンス(CPIサーバー)
そんなこんなで環境を作って計測したところ、案の定の結果が出ました。
ACTIONS EXECUTION TIME 処理時間はおよそ0.5秒。
ページ遷移やリロードをしても不自然な遅延は起こりません。
サーバーには当たり外れがある、かもしれない
検証結果として、異なるサーバー間で明らかな差がでました。こうして見ると、さくらスタンダードが遅いように感じられますが、一概にはそうとは言えません。
実は他の案件でもさくらスタンダードを使っているものがありますが、それらは全く問題ないのです。今回の案件のみ、なぜか強烈に重いので、苦悩していました。
絶対コレという保証はありませんが、当てられた共用サーバーの運が悪かった可能性は十分考えられます。
月額500円のプランですのでこんなものかなと思いつつも、良いパフォーマンスを発揮したければエックスサーバーなどの方がよいかもしれませんね。