は、PHP スクリプトのコンパイル済み状態を shm (RAM) にキャッシュすることで PHP スクリプトのコンパイル時間をなくすことでパフォーマンスを最適化し、コンパイル済みバージョンを RAM から直接使用します。
PHP 5.5.3 と Xcache 3.1.0を使用した観察に基づいて、次のように推測できます。
キャッシャー
このモジュールはOpcodeとVariableの 2 種類のキャッシングを扱います。
Opcodeキャッシングは、単純なドロップインになるように設計されています。キャッシュする方法をカスタマイズすることはできません。
- xcache.count設定は、キャッシュ スレッドの数を参照し、利用したいプロセッサ コアの数に相関します —マルチスレッドが最速であるべきという考え方ですが、保証はありませんので、自分で実験してください
- ガイドラインとして、有効なカウント値は 1、2、4、8 のように 2^n になります — 0 はキャッシャーを無効にし、他の値は最も近い有効な値に丸められます
- xcache.size設定は、すべてのキャッシュ スレッドの総メモリを参照します。したがって、各スレッドはおおよそ
size/count
の量のメモリを取得します
- OOM別名Out of Memoryは、キャッシュ スレッドが最大サイズに達するイベントを指します。
変数のキャッシュでは、アプリ コードで単純な get/set API を使用する必要があります。xcache.var_sizeとxcache.var_count (Opcode 設定と同様) を使用して有効にした後、スクリプトでxcache_set($var1)
andを使用xcache_get($var1)
します。
無効化
xcache.stat設定は、ファイルがキャッシュされてから変更されたかどうかを確認するかどうかを制御します。
- オンに設定すると、ファイルがチェックされ、再キャッシュされます
- Offに設定すると、チェックは有効期限が切れるまで最初にキャッシュされたバージョンを保持します。これにより、ディスク i/o が制限されるため、パフォーマンスが向上します。
開発環境では、コードを継続的に更新およびチェックできるように、オンにしておくことをお勧めします。そうしないと、ファイルの更新を確認するためにキャッシュをフラッシュする必要があります。
フラッシング
特定のキャッシュをフラッシュできる Web 管理インターフェイスがあります。Web 管理者は php API: を使用しますxcache_clear_cache(…)
。
キャッシュは RAM ベースであるため、サーバーが再起動するたびにキャッシュをフラッシュする必要があります。
有効期限
キャッシュされたアイテムは、キャッシュされたアイテムが存続する秒数をそれぞれ制御するxcache.ttl
およびに従って期限切れになります (0 は無期限であり、デフォルトです)。xcache.var_ttl
取材者
カバレッジ モジュール、別名コード カバレッジは、少し不思議です。FeatureListによると、一時的な管理/テストの状況で有効にすることを目的とした診断ツールのようです。
- Coverager + 実際のテストケース フレームワーク、これには以下が含まれます: [TOSHARE]
- 実際のテストケース フレームワーク、実際のブラウザを備えた制御スクリプト。テストケースを書く必要があります。
- 組み込みの Coverager + Web からのそのビューアーを使用して、テストしたスクリプトの量を確認します。
- testcase+Coverager は、すべての実際の php Web アプリケーションが正しく実行されていることを確認するのに役立ちます。
- XCache を有効にした後
- php4をphp5にアップグレードした後
- php4/5 を php6 にアップグレードした後