【概要】
Wordpress(nginx+php-fpm)で、アクセス集中時にCPU負荷がボトルネックとなっていたためphp-OPcacheを導入したところ劇的に改善したのでメモ
OPCacheについては以下を参照
OPcacheを利用してPHPを高速にしよう | WEB ARCH LABO
OPcache導入してみた!(速さ検証もあるよ!) - Qiita
PHPのキャッシュ機構のおさらいと、opcacheの設定とかキャッシュクリアとか - waste of time
上記からのぼんやりした認識
【やったこと】
■パッケージのインストールと初期設定
# インストール
yum install php-opchache
# パラメータ値を変更
→php.netの示す推奨値を利用した)
※推奨設定値:http://php.net/manual/ja/opcache.installation.php
オプションの詳細:http://php.net/manual/ja/opcache.configuration.php
cat /etc/php.d/10-opcache.ini | egrep -v '^(#|$|;)'
zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.blacklist_filename=/etc/php-5.6.d/opcache*.blacklist
# サービス再起動して反映
service php-fpm restart service nginx restart
# 組み込み状態確認
php -v PHP 5.6.38 (cli) (built: Oct 16 2018 23:34:40) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies php -i | grep opcache (省略)
負荷確認
目に見えてレスポンスが軽くなった。
php-fpmのプロセス数も減少している。
空きメモリの減少も見られない(opcache.memory_consumptionの値が上限と思われる)
もっと早くやっとけばよかった。。。