WordPressに合わせてOPcacheのメモリ設定を修正
概要
WordPressのOPcache利用の状況に合わせてOPcacheの設定を見直しました。
環境
- WordPress 6.2
- PHP 8.1.12
- OPcache 8.1.12
何をしたのか
私がブログシステムとして利用しているWordPressについて、高速化のためにOPcacheを導入しています。OPcacheは、実行するプログラムについてキャッシュを行い、高速な動作を期待するものです。
WordPressは、実行しているプラグインなどにもよりますが、比較的動作が重いソフトウェアです。そのため、キャッシュを行い動作の高速化を行うOPcacheの効果は大きいです。
OPcacheの有効化はとても簡単です。php.iniにopcache.enable=1
と記述するだけです。また、最近のPHPでは、デフォルトで設定が有効化されているため、何もする必要はありません。
しかし、どれだけのメモリを使うのかなど細かい設定は見直した方がよいです。
WordPressでは、「WP OPcache」プラグインなどで現在のOPcacheの状況を確認できます。今回、このプラグインを使ってOPcacheの状況を確認すると、OPcacheのデフォルトで指定されている最大メモリ近くまで使用していました
ここでは、私が修正した設定について説明します。
ちなみに、私が利用しているWordPressは、ConoHa Wingというレンタルサーバーで利用しています。レンタルサーバーなので、設定できないかもしれないと考えたのですが、実際にやってみたら可能でした。
設定の修正
私が修正した項目は、OPcacheの使用メモリの最大量と、インターン化文字列の使用メモリの最大量についてです。それぞれ、256MBと32MBとしました。
php.iniに次のように記述することで設定できます。
opcache.memory_consumption=256 # 使用メモリの最大量(MBでの指定)
opcache.interned_strings_buffer=32 # インターン化文字列の使用メモリの最大量(MBでの指定)
サーバーによっては、再起動が必要かもしれません。
設定後、WP OPcacheプラグインで確認すると、ちゃんと反映されていることが分かります。インターン化文字列の使用について、バッファサイズが指定した32MBとは異なりますが、これで正常のようです。
これで、設定は終わりです。
さいごに
OPcacheの設定を見直してみました。ちゃんと計測はしていないため、本当に高速化できたのか微妙ですが、少なくとも遅くなったという実感はありません。