PHPのOPcacheを有効にする

OS: Ubuntu Server 18.04.1 LTS
PHP 7.2.10

ソースからインストールしたPHPのOPcacheを有効にしてパフォーマンスの向上を目論むものである。PHPをソースコードからコンパイルする際にconfigureオプションに--enable-opcacheが含まれていなければいけない。其れを前提としてphp.iniを編集する。

$ sudo vi /usr/local/lib/php.ini
[opcache]
zend_extension=/usr/local/lib/php/extensions/no-debug-zts-20170718/opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60 

公式の文献ではopcache.fast_shutdown=1も推奨されているけれどもPHP7.2.0以降ではこのディレクティブはすっかり削除されたようである。PHP本体に統合されて、使用できそうなら自動的に適用される、ということである。

opcache.fast_shutdown boolean
(snip)
このディレクティブは、PHP 7.2.0 で削除されました。 A variant of the fast shutdown sequence has been integrated into PHP and will be automatically used if possible.

https://www.php.net/manual/ja/opcache.configuration.php#ini.opcache.fast-shutdown

OPcacheが有効になっているか否かを点検してみると、首尾よくいっているようである。

$ php -v
PHP 7.2.10 (cli) (built: Sep 21 2018 01:44:12) ( ZTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.10, Copyright (c) 1999-2018, by Zend Technologies

SAPI版のPHPの方は如何に、と思ってphpinfo()を実行してみるとやはり有効になっている模様であった。定量的にパフォーマンスを計測していないけれども体感としてPHPアプリケーションがきりきり働いているように思えるのでもはや成功と云える。

図1. OPcacheが有効になった様子

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください