以前Xserverへ乗り換えてパフォーマンスが向上した記事を書きました。
さくらのレンタルサーバーからエックスサーバーに変更すると表示速度が爆速に
今回は移行時はデフォルト設定だったサーバーの各種設定をチューニングしたところ、PageSpeed Insightsでどの程度変わるのかを検証しました。
- Xserverを使っているが、特に設定を変更していない
- 設定を変更した場合どのくらい変わるのか知りたい
- 新しく使えるようになったPHP 8.0でどの程度変わるのか知りたい
- XserverでJITを有効化する方法を知りたい
といったような場合はご参考ください。
※スコアやパフォーマンスは環境により異なります。あくまで参考としてください。
目次
結論
PageSpeed Insightsのスコア(モバイル)が77点から82点へ5点あがり、体感でもやや早くなったような印象でした。
コアウェブバイタルの指標であるLargest Contentful PaintやCumulative Layout Shiftは大きな変化はありませんでしたが、Time to Interactive、Speed Index、Total Blocking Timeは結構改善できました。
「ものすごい変化する!」とまではいかないものの、やらないよりやった方がいいです。
もともとWordPress側の最適化は全くしていないでこの点数なので、最適化したらもっと良くなる可能性があります。もちろんサイト毎に変わるので、今回の環境での検証ということでご了承ください。
前提条件
テーマ、プラグイン、測定条件等は前回の記事を参考にしてください。以下がXserverのコントロールパネルから設定変更した項目とその内容です。
- XアクセラレーターをVer2
- サーバーキャッシュをON
- ブラウザキャッシュをON[全ての静的ファイル]
- PHPを8.0に変更
- PHP8から使えるJITをphp.iniファイルに直接記述
コントロールパネルからの設定変更となり、作業自体は簡単で5-10分程度あれば完了できるレベルです。実際はONとOFFでどのくらいパフォーマンスが変わるか、JITが有効になっているかどうかの確認をしていたりしているので、もっと時間はかかりましたけどね。
PageSpeed Insightsで測定した結果比較
PageSpeed Insightsの対象とする指標はすべてモバイルを指標としました。
xserver(設定前) | xserver(設定後) | 差 | 改善率 | |
---|---|---|---|---|
モバイルスコア | 77 | 82 | 5 | +7.3% |
First Contentful Paint(秒) | 1.5 | 1.4 | -1 | -4.4% |
Time to Interactive(秒) | 4.7 | 2.7 | -2 | -41.5% |
Speed Index(秒) | 2.6 | 1.8 | -0.8 | -31.6% |
Total Blocking Time(ミリ秒) | 157 | 16 | -140 | -89.3% |
Largest Contentful Paint(秒) | 5.1 | 4.7 | -0.4 | -7.8% |
Cumulative Layout Shift | 0 | 0 | 0 | – |
Cumulative Layout Shiftは元々0だったためこれ以上改善の余地がないとして、その他全部の指標において改善しました。Largest Contentful Paintが高めなのが気になりますが、あとの指標はどれもいい数字が出ています。
特にTotal Blocking Time、次いでTime to Interactiveが大きく変化しました。PHP8の威力でしょうか。
フロント側、管理画面どちらともストレス無く画面遷移していましたが、今回の設定変更によって、よりサクサク表示できるようになった印象です。
ちなみに、PageSpeed Insightsの「パソコン」となっているデスクトップ側のスコアは98で、各指標も全て緑色の高スコアです。
行った各種設定項目
前提条件に書いたとおり、Xserverのサーバーコントロールパネルから設定変更できる項目のみを変更しました。変更時にはサーバーコントロールパネル内の「設定対象ドメイン」より変更対象先のドメインを設定しておくと間違えがなくかつ操作も少なく済み、安心で楽です。
XアクセラレーターをVer2
高速化→XアクセラレーターをVer.2に変更します。公式発表によるとPHPの処理速度が最大20倍、WordPressの処理速度がが最大10倍とのこと。これはぜひ有効化した方がいいですね。
サーバーキャッシュをON
高速化→サーバーキャッシュ設定をONにします。これによりサーバー側でcssやjs、画像等の各種ファイルがキャッシュされ表示速度が向上します。
※ECサイトやログインが必要なサイトに設定する場合は意図せぬ表示になってしまうこともあるため十分注意してください。
ブラウザキャッシュをON[全ての静的ファイル]
高速化→ブラウザキャッシュ設定をON[全ての静的ファイル]に変更します。ブラウザ側でキャッシュ済みのファイルを利用するExpiresヘッダや、キャッシュの有効期限や動作を指定するヘッダが設定されます。
※CSS、JavaScriptに対してもキャッシュを有効にするため、問題がないかどうか注意してください。
PHPを8.0に変更
PHP → PHP Ver. 切替→「変更後のバージョン」をPHP 8.x.xに変更します。基本は8.0系のバージョンになりますが、利用できるバージョンは時期によって異なります。
※変更によってエラーが表示されたり、正しく表示されないといった不具合が発生する場合があります。事前にテスト環境で実施できておくといいですが、影響が少ないと判断される場合はエラー等発生したら以前のバージョンに戻し、原因を修正します。
テスト環境の作成方法はこちら: WordPressのテストサイト・検証用環境の作り方
PHP8から使えるJITをphp.iniファイルに直接記述
JITとはわかりやすく言うとより早く処理させるためPHP8から利用できるようになった新しい仕組みです。
Xserverの場合、JITは利用できますが利用するには「php.ini直接編集」より直接コードを追加する必要があります。
PHP → php.ini設定 → php.ini直接編集 より、対象ドメインになっていることを確認した上で、JITに関する4行(コメントアウトされたJITも含めると5行)を追加します。また、Zend Optimizerのopcache.jitの記述がある場合、コメントアウト(しなくても大丈夫かもしれないが念の為無効化にしておく)します。最下部にZend Optimizerがあったたため、対象部分のコードは以下のようになりました。
[Zend Optimizer]
zend_extension = opcache.so
;opcache.jit = off
;JIT
zend_extension = opcache
opcache.enable = 1
opcache.jit = on
opcache.jit_buffer_size = 128M
入力できたら確認画面へ進み、保存します。これで有効化できているはずですが、確実に確認したい場合は phpinfo 等でJIT部分が有効になっているかどうか確認してください。
※可能性は低いとみますが、有効化後もしエラーや不具合が起こるようであれば設定した箇所を戻します。
簡単な設定なのでやらないのは損
上記の設定完了後、5-10分程度で反映されるはずなのでPageSpeed Insightsで測定比較してみましょう。おそらく以前より上がっているはずです。また、体感でも多少速く表示されたり、快適に画面遷移したりしているのではないでしょうか。
今回の設定はコントロールパネルから設定できる項目だけで、比較的簡単な設定になります。それでパフォーマンス改善につながる可能性がとても高いため、是非実施されることをお勧めします。
Xserverは高速化にも力を入れていて、かつコントロールパネルが使いやすくマニュアルも整備されておりわかりやすいので、比較的アクセスのある商用利用のレンタルサーバーであればまず最初におすすめできるサーバーです。
特に、「エックスサーバーを使っているけどPHPのバージョンアップはずっとしていない。キャッシュやアクセラレーターの設定もしてない」というような場合は大きな改善につながる場合もあるため、是非取り組んでみていただければと思います。
設定でわかりづらい箇所やできなかった部分などあれば下のコメント欄か、問い合わせフォーム等からお知らせください。「実施したらスコアがこのくらい変わった」という報告も歓迎です!
コメントを残す