OPcache は PHP インタープリター用の Apache モジュールで、プリコンパイル済みスクリプトを共有メモリーに保存することでパフォーマンスを向上させます。このように、PHP はリクエストごとに同じスクリプトを読み込んで解釈する必要はありません。
まず、SSH 接続を介してサーバーに接続します。まだ行っていない場合は、SSH で安全に接続するためにガイドに従うことをお勧めします。ローカル サーバーの場合は、次の手順に進み、サーバーのターミナルを開きます。
OPcache を有効にする
次のコマンドで PHP 構成ファイルを開きます。
PHP が Apache モジュールを使用して解釈される場合:
$ sudo nano /etc/php/7.2/apache2/php.ini
PHP が PHP-FPM / NGINX 経由で解釈される場合:
$ sudo nano /etc/php/7.2/fpm/php.ini
OPcache の使用を有効にするには、次の行を変更して関連項目を有効にするだけです:
;opcache.enable=0
これで:
opcache.enable=1
削除;存在する場合はイニシャル。
この時点で、ウェブサーバーを再起動すると、OPcache はすでに有効になっています:
アパッチ:
$ sudo service apache2 restart
PHP-FPM / NGINX:
$ sudo service nginx restart
ここで、OPcache が正しく機能することを確認するために、サイトがあるフォルダー内に phpinfo.php ファイルを作成し、次のコードを挿入します:
<?php
phpinfo();
?>
次に、ファイルを保存してブラウザで表示します。
この画像でわかるように、OPcache セクションが存在する場合、OPcache は正しく機能しています。
では、このモジュールの各オプションを具体的に構成する方法を見てみましょう。
使用する RAM メモリ
この場合、OPCache が使用する RAM メモリと目的の速度の間で適切な値を見つける必要があります。 OPCache はめったに使用されない命令も保存するため、メモリを拡張しても実際のパフォーマンスが向上するとは限りません。これにより、割り当てられたメモリが浪費されるため、パフォーマンスに違いはありません。
したがって、ガイドに従って、一般的な使用のためにデフォルト値 (64 メガバイト) を変更することをお勧めします
;opcache.memory_consumption=64
次のように 128 メガバイトに変換:
opcache.memory_consumption=128
次に、パフォーマンスの観点から結果を検証して、この値を増やしてみてください。
保存するスクリプトの数
利用可能なメモリに加えて、OPcache を使用すると、キャッシュに保存するスクリプトの数を設定できます。この値は通常、デフォルト (2000) のままにしておくことができます。ただし、アプリケーションのヒット率が 100% に近くない場合は、次の行のコメントを外して、必要に応じてヒット率を上げることができます:
;opcache.max_accelerated_files=2000
次のように値を増やします:
opcache.max_accelerated_files=3000
ヒット率を 100% に近づけようとしています:
更新頻度
OPcache は、保存されたスクリプトが更新されているかどうかを定期的にチェックします。評価期間は、次のディレクティブを変更することで設定できます:
;opcache_revalidate_freq = 2
およびデフォルト値 (秒単位):
opcache_revalidate_freq = 100
変更を適用する方法
変更を確認するには、ウェブ サーバーを再起動してください。
アパッチ:
$ sudo service apache2 restart
NGINX:
$ sudo service nginx restart
この時点で、OPcache はスクリプトの保存を開始します。