PHP8.3モジュール版へのアップデートとPHP JITの有効化

サイト運営費捻出のため広告を使用しています

さくらインターネットでPHP8.3へのアップデートが可能になりました。こちらのブログで利用しているレンタルサーバーでもPHP8.3へアップデートしてみました。一通り、WordPressの表示確認をしてみましたが、特に異変は感じなかったので、このまま運用したいと思っています。WordPress自体はうまく動いても、テーマやプラグインが対応していない可能性もあります。

さらに、さくらのレンタルサーバーのPHP「8.☓」からOPcacheの拡張機能であるJITコンパイラが利用可能になっているので、こちらも合わせて有効にしました。JITとはPHPプログラムの実行時にソースコードを機械語に翻訳して、OPcacheのJITでは翻訳された機械語のプログラムをキャッシュに保持しておくことができます。これにより、同じリクエストが来たときにコンパイルする手間が省け高速に実行できるようになります。

さくらインターネットでJITを有効にする方法はこちらが分かりやすいです。

PHP JITを設定したい | さくらのサポート情報
さくらのレンタルサーバのPHP「8.x」より、OPcacheの機能拡張である「JITコンパイラ」が利用可能になっております。「JITコンパイラ」を有効にする方法やご利用時の注意事項をご案内いたします。※「さくらのマネージドサーバ」のOSがF...

機械語を保持するためのキャッシュサイズも、さくらインターネットで紹介されている事例をそのまま利用しました。具体的にはphp.iniに情報を追記する形になります。php.iniは大切なファイルなので間違えないように注意してください。

こちらの設定後もwordpressの動作に問題は発生していません。ただ、WordPressに関しては、JITを有効にしてもそこまで実行速度が上がるわけでもないようです。WordPress自体はPHPで組まれていますが、WordPressの動作速度に影響するものはPHPのコンパイルに限らず、様々な要素があるためです。確かに体感では速くなったのかどうかはよく分かりません。

2024年3月7日追記

実際にJIT導入前後でどの程度の高速化を実現しているか検証されているサイトがありました。やはり、高速化の効果は数%にとどまるようです。

ただ、速いことにこしたことはないので、今でもJITを有効にしてあります。

【2024年3月11日追記】

スポンサーリンク

投稿画面の表示が崩れるトラブル発生

JITとの正確な因果関係は立証できていないのですが、JITをONにしてしばらく使っていると、WordPressの投稿画面の表示が大きく崩れて投稿ができない状態になってしまいました。cssの取得がうまくいってないようです。あくまでも管理者として困るだけで、閲覧者としてページを見るときの問題は発生していません。

また、謎現象の一つとして、アイキャッチ画像の投稿をするためのエリアが表示できないというトラブルも併発しています。

現在はJITの設定を全て取り払って、JITを使わない状態で運用を続けています。JITの設定を取り払って、さくらインターネットのコンテンツブーストのキャッシュを削除することで正常な投稿画面が表示できるようになりました。(コンテンツブーストではadmin領域のファイルはキャッシュしない設定にしてあるので、通常のアクセスできる何らかのファイルのアクセスで支障が出ているように思えます)

コメント