を持っています m3.xlarge
に更新したEC2インスタンスPHP 5.5.11
今日。
この更新により、php55-pecl-apc
with php55-pecl-apcu
。
読んで実験した後、私の理解では、APC
で戻すことができるキー値ストアを除き、OPCache
はAPCu
に置き換えられました。
設定を合理的に見えるように調整した後、ログイン中にWordpressを使用するとひどく遅くなり、少なくとも300-900ms悪化します(フロントエンドはニスを介してキャッシュされ、完璧に動作します...ただし、管理者を使用している場合、意図的にキャッシュされず、sinのように遅くなります)。
アップグレード時に、各ステップの小さなサンプルサイズで一連のベンチマークを行いました。私が進むにつれて悪化しました。
-->
-->
現在、私はただOPCacheを使用していますが、APCuは使用していません。
私のセットアップでは、最新のワードプレス、いくつかの大きなプラグインを使用していますが、それらは重要なので削除できません。幸いなことに、ニスはほとんどの作業を引き受けます。 Webサイトのルートに4つのコア、16GBのメモリ、1万個以下のファイルがあります。また、本物の筋金入りのアプリやワードプレス以外のものはありません。それはかなりバニラのセットアップです。私はそれが役立つかもしれないもののためだと思います。
構成:
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.max_wasted_percentage=5
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.revalidate_freq=0
opcache.revalidate_path=0
opcache.save_comments=0
opcache.load_comments=0
opcache.fast_shutdown=1
opcache.enable_file_override=0
opcache.optimization_level=0xffffffff
opcache.inherited_hack=1
opcache.dups_fix=0
opcache.blacklist_filename=/etc/php-5.5.d/opcache*.blacklist
opcache.max_file_size=2M
opcache.consistency_checks=1
opcache.force_restart_timeout=180
opcache.error_log=/var/log/php-fpm/5.5/opcache.log
opcache.log_verbosity_level=1
opcache.preferred_memory_model=
opcache.protect_memory=0
現時点では、変更の要求ごとにすべてのファイルをチェックしていますが、これはおそらく本番システムで必要なものではありません。
私は通常、それを無効にします(変更を行った後にWebサーバーを再起動することを忘れないでください):
opcache.validate_timestamps=0
または、周波数を0以外に設定して、有効にしておくこともできます。
opcache.validate_timestamps=1
opcache.revalidate_freq=300
理論的には、5分ごとに変更を確認するだけです。
あなたも持っています
opcache.consistency_checks=1
ドキュメントによると、パフォーマンスが低下します。オフにします。
opcache.consistency_checks integer
ゼロ以外の場合、OPcacheはN個の要求ごとにキャッシュチェックサムを検証します。Nはこの構成ディレクティブの値です。パフォーマンスを低下させるため、デバッグ時にのみ有効にしてください。
OPCacheをPHPに統合することを担当したRFCから:
APCは、古い無効化されたスクリプトのメモリを再利用できます。 APCはメモリマネージャを使用し、使用されなくなったスクリプトに関連付けられているメモリを再利用できます。 Optimizer +の動作は異なり、そのようなメモリを「ダーティ」としてマークしますが、実際にそれを回収することはありません。ダーティパーセンテージが設定可能なしきい値を超えると、Optimizer +は自動的に再起動します。この動作には、安定性の利点と欠点の両方があることに注意してください。
私の推測では、オペコードキャッシュの再起動をトリガーするしきい値に達しています。
リファレンス: https://wiki.php.net/rfc/optimizerplus#advantages_of_apc_over_optimizer