永続オブジェクトキャッシュ使用のため「APCu Manager」導入で怖い事態になったので直ぐ削除

当サイトの記事には広告が含まれます

 WordPressのサイトヘルスステータスで、「永続オブジェクトキャッシュを使用してください」というお薦めの改善が表示されています。下記のように永続オブジェクトキャッシュに関して説明書きもありました。

永続オブジェクトキャッシュは、サイトのデータベースの効率を上げます。その結果、WordPress がサイトのコンテンツや設定を迅速に取得できるようになるため、読み込み時間を短縮できます。

ホスティングサービスに問い合わせれば、サイトで永続オブジェクトキャッシュを有効化できるかどうかがわかります。 お使いのホスティングサービスでは、次のオブジェクトキャッシュサービスをサポートしているようです: APCu。

 さくらインターネットを利用しているのですが、こちらのメッセージの最後に書かれている通り、APCuが使えるようになっています。最初は、さくらインターネットのマニュアルでも紹介されていた、「wp-ffpc」プラグインをインストールしてみたのですが、WordPressで「重大なエラーが発生した」ということでブログを表示できなくなってしまいました。直ぐに、さくらインターネットのコントロールパネルにあるファイルマネージャーで、「wp-ffpc」をディレクトリごと削除、すると、WordPressは表示してくれるようになりました。

 PHP8以上では、wp-ffpcはうまく動かないようです。こちらに対処法が紹介されていました。

WordPress プラグイン「WP-FFPC」を PHP 8.0で動かす!
WordPress で PHPキャッシュ(APCu等)を有効化するプラグイン「 WP-FFPC 」ですが、PHP 8.0 ではエラーがでてサイトが止まってしまいます。PHP 7.4 では動きます。PHP の APCu モジュールは、さくらイ...

 しかし、プラグイン自体が長い期間にわたってメンテナンスされていないようなので、今回はwp-ffpcをインストールするのは止めました。

 次にトライしたのは、「APCu Manager」というプラグインです。こちらは、何の問題もなくインストールできたのは良かったのですが、PageSpeedInsightsで表示速度を確認しようとしたところ、変なことを見つけてしまいました。PageSpeedInsightsでログインユーザーしか表示されないはずの、AdminBarが表示されてしまっているのです。間違えなく、APCuでAdminBarがキャッシュされて、非ログイン状態の人でも表示されてしまっていることが疑われたので、すぐにAPCu Managerは無効化して削除しました。

 一方で、さくらインターネットの解説で,「PHP JITを設定したい」というものがありました。

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

 すでに、モジュール版のPHP8.xを使っていたので、php.iniに下記の二行を追記ました。

opcache.jit = tracing
opcache.jit_buffer_size = 64M

 結果として、PageSpeedInsightsで確認するとレスポンスが若干改善しています。

【2024/07/15追記】

 APCuを使うためにPowered Cacheプラグインを使ってみました。効果が大きかったので、こちらをしばらく使ってみます。詳しくはこちらで紹介しています。

コメント