おそるべき威力 APCu+OPcache

継続してパフォーマンス向上に取り組んでいます。
過去の対応は以下のリンクから辿れます。

https://benbenbase.dip.jp/ememory/2018/02/18/868

OPcacheは元々入れていた気がしましたが、APCuは入れてなく、PHPでパフォーマンス対応というとこの二つは大体出てくるので入れてみたら、冒頭のグラフの通り、2/17の夜に入れた直後から劇的にパフォーマンスが良くなり、今も継続中です。

「それ何?」って方はネットにいくらでも情報があると思うので見てみて下さい。

私のラズパイではネット上の情報とフォルダ構造とか、入れるモジュールなんかが微妙に違ったので書いておきます。

まず、OPcache

– phpx.x-opcache を apt-get で入れます。(x.x はバージョン)
– /etc/php/x.x/mods-available に opcache.ini ができると思います。ini の本体です。
– /etc/php/x.x/cli とか fpm の下の conf.d/ に10-opcache.ini
もできているんじゃないかと思います。本体へのリンクです。
– 下は例ですが設定します。
**************************************
; configuration for php opcache module
; priority=10
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=2000
opcache.revalidate_freq=5
opcache.fast_shutdown=1
**************************************
設定はこのあたりを参考に様子見ながらですかね。

PHP: 実行時設定 - Manual
実行時設定

もし、cli や fpm の conf.d/ の下に 10-opcache.ini が無ければリンクコマンドで作ってください。
ln -s /etc/php/x.x/mods-available/apcu.ini /etc/php/x.x/fpm/conf.d/10-opcache.ini

次にAPCu
これが結構ラズパイで良い先輩達の記事が見つからなかった。CentOSとかDebianとかの記事を読み替え。

– Pecl install APCu
– /etc/php/x.x/mods-available に apcu.ini が私の場合できませんでした。
– なので作成 vi なり cat なりで apcu.ini として作りましょう。
(例)
***************************************
; configuration for php apcu module
; priority=20
extension=apcu.so
apc.enabled=1
apc.enable_cli=1
apc.shm_size=64M
apc.ttl=3600
apc.gc_ttl=3600
***************************************
設定は以下確認

PHP: 実行時設定 - Manual
実行時設定

で、多分、それだけじゃダメなんだと思います。
WordPress のサイトをURLレスポンス監視しているんですが、私は「W3 Total Cache」を使っています。
OPcache や APCu を使えるようにすると設定画面でこれらを選択できるようになるので設定します。
例えば↓

こんな感じで設定すると WordPress でうまくOPcache と APCu が使えるようになったみたい。

OPcache と APCu は管理画面用の php を外部から取得してきてWebの公開ディレクトリ上に置けば見れます。
Chache hit 率を見れたり、キャッシュのクリアとかできます。↓はご参考。

APCu , OPcacheの導入 PHP サーバ高速化
今回はPHPアクセラレータであるAPCuとOPcacheのご紹介です。 これらはPHPでコンパイルされたデータをキャッシュしてくれます、1度キャッシュしたものは2回目はキャッシュから読み込むのでコンパイル処理が省かれ、PHP処理が高速になり
タイトルとURLをコピーしました