PHP8.1にAPCuの導入とOPcacheを設定してPHPサーバの高速化

XAMPPのPHP8.1.12はZend OPcacheにてコードレベルのキャッシュを管理、APCuはデータキャッシュを管理してPHPの処理が高速になる。

自宅サーバ

APCu OPcache

[インストールと設定]

●オブジェクトデータキャッシュのapcu
●ネイティブコードキャッシュのZend OPcache

2つのレイヤーで高速化を行い、双方ともにwindows環境でも設定を行うことが可能。

APCuのインストール

PHPの高速化エクステンションであるapcは既にサポートされてないので、APCuがPHPでコンパイルされたデータをキャッシュしてくれる。1度キャッシュしたものは2回目はキャッシュから読み込むのでコンパイル処理が省かれ、PHP処理が高速になる。

https://pecl.php.net/package-stats.php
*peclからダウンロードすることが可能。
*xamppで.ZIPを解凍してファイル内のphp_apcu.phpをphp\ext内にコピーすればインストールは完了。

APCuの設定と有効化
\xamp\php\php.iniのdynamics ExtensionsとAPCuの設定を追記して有効化。

1) php_apcu.phpを\xampp\php\php.iniの[dynamics Extensions]に追記
extension=apcu
2) [opchache]の次辺りに追記
[APCu]
apc.shm_size=128M
apc.ttl=86400
apc.gc_ttl=86400
*コマンドプロンプトで設定状況を確認
> php -i | egrep 'apc|opcache'

APCu コントロールパネル
GitHubからダウンロード
https://github.com/krakjoe/apcu/archive/

ダウンロードした拡張子(.php.txt)の.txtを削除して\xampp\htdocsに入れる。

>\xampp\apcu-master\apc.php
defaults('ADMIN_USERNAME','apc'); // Admin Username
defaults('ADMIN_PASSWORD','password'); // Admin Password - CHANGE THIS TO ENABLE!!!
↓変更
defaults('ADMIN_USERNAME','ユーザ名'); //
defaults('ADMIN_PASSWORD','パスワード'); //

OPcacheの設定と有効化

1) [Dynamic Extensions]
;extension=opchache ←(;)を外して有効にする。
2) [opcache] ←下記の(;)を外して有効にする。
;opcache.enable=1
;opcache.enable_cli=1
;opcache.memory_consumption=256 ←2倍
;opcache.interned_strings_buffer=4
;opcache.max_wasted_percentage=5
;opcache.use_cwd=1
*コードの変更にはキャッシュを使わない。
*opcache.jit=off ←必要なら追記

OPcacheコントロールパネル

https://github.com/krakjoe/apcu/archive/
ダウンロードしたapc.phpをC:\xampp\htdocsにコピーすればインストールは完了。
*環境にもよるが、0.5秒程度変わる。
*パネル上のAPCuのキャッシュ有効で緑の部分が減る。


Zend OPcacheはコードのキャッシュのみでオブジェクトデータはキャッシュしないので、php.iniでキャッシュしてくれる最大サイズと、キャッシュの有効期間を設定する。

注意:設定終了後、XAMPPのApacheを再起動とerror.logでキャッシュ関係のエラー(有る・無い)を確認する事。

クリックコメントを閉じる

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

TOP

Copyrighted Image