APC の概要
APC (Alternative PHP Cache) は PHP キャッシュです。 PHP ページをメモリに保存し、ハードディスク I/O を削減します。これはパフォーマンスの非常に明らかな向上です。 CPU 使用率を 50% 削減しながら、システムのパフォーマンスを 50% 向上させることもできます。
このチュートリアルでは、Windows に APC をインストールする方法を説明します。 Windows Server 2003 でのテストに成功しました。もちろん、Windows XP をテスト サーバーとして使用することもできます。
Windows に PHP APC 拡張機能をインストール
注: APC と Zend Optimiser をサーバーに同時にインストールすることはできません。2 つのうちの 1 つだけを選択できます。
PHP 用の APC 拡張機能をインストールするには、以下の手順に従ってください。
正しいバージョンをダウンロードしてください
私が使用している PHP バージョンは 5.2.6 です。ダウンロード アドレスは php5_2_6
の php_apc_dll です。注: ダウンロードした APC 拡張機能のバージョンが PHP のバージョンに対応していることを確認してください。
php.iniを設定します
php.ini ファイルを編集し、展開領域
に次のコードを追加します。拡張子 = php_apc.dll
サーバーを再起動し、phpinfo を使用してインストールが成功したかどうかを確認します
phpinfo();
phpinfo apc 拡張機能が正常にインストールされているかどうかを確認します
利用可能なメモリを表示
PHP ファイル apceminfo.php
を作成しますprint_r(apc_sma_info());
//キャッシュによって使用されるメモリの量は、次の式を使用して計算されます:
Total_memory = apc.shm_segments * apc.shm_size
この例では、使用可能なメモリは約 32 MB です。一般に、キャッシュに 32 MB を超える容量が必要な場合は、APC で使用されるセグメントの数を増やす必要があります。ただし、これにより Web サーバー エラーが発生する可能性があるため、フラグメント サイズを増やすことをお勧めします。メモリ損失を避けるために、キャッシュに使用できる合計量を徐々に増やす必要があります。
デフォルトの APC は次のとおりです:
apc.cache_by_default = オン
apc.enable_cli = オフ
apc.enabled = オン
apc.file_update_protection = 2
apc.filters =
apc.gc_ttl = 3600
apc.include_once_override = オフ
apc.max_file_size = 1M
apc.num_files_hint = 1000
apc.optimization = オフ
apc.report_autofilter = オフ
apc.shm_segments = 1
apc.shm_size = 30
apc.slam_defense = 0
apc.stat = オン
apc.ttl = 0
apc.user_entries_hint = 100
apc.user_ttl = 0
apc.write_lock = オン
APC パラメータ設定の詳細については、http://www.php.net/apc を参照してください。
以下は php.ini の APC ブロックです。これらを php.ini ファイルに貼り付けてください:
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 64
apc.max_file_size = 10M
apc.stat=1
残りの設定ではデフォルト値が使用されます。
一時ディレクトリを設定します
APC には、ファイルを保存するための一時ディレクトリが必要です。 Windows の一時ディレクトリにファイルをキャッシュしようとしますので、事前に一時ディレクトリへの書き込み権限を与えてください。
キャッシュの監視と調整
APC キャッシュの監視と調整
APC ソースには、キャッシュのパフォーマンスの監視と調整に役立つ php スクリプトが含まれています。
1. APC 監視ファイルをダウンロードします: http://pecl.php.net/package/apc
2. 圧縮パッケージ内の apc.php ファイルには、APC 監視情報が表示されます。
3. このファイルを実行すると、キャッシュの統計を示すグラフが表示されます。
4. キャッシュを調整するには、「一般的なキャッシュ情報」セクションと「詳細なメモリ使用量と断片化」セクションを表示します。
5. キャッシュフルカウントと断片化の割合を監視します。キャッシュフルカウントが 0 より大きい場合は、十分なメモリが割り当てられていないためにキャッシュがいっぱいで、頻繁に読み書きが行われていることを意味します。 apc.shm_size を増やすと問題を解決できる可能性があります。
6. 断片化率は 0% である必要がありますが、メモリの読み取りと書き込みが頻繁に行われるため、その値は増加します。
apc.php のセキュリティ
apc.php のセキュリティに注意してください。 apc.php の情報出力を制御するには、
などのセキュリティ認証を使用する必要があります。// Moodle ユーザー認証
require_once("../config.php");
require_once($CFG--->libdir.'/adminlib.php');
require_login();
require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM, SITEID));
// APC Auth (APC セキュリティ認証) を無効にします
デフォルト('USE_AUTHENTICATION',0);
//....