ホームページ  >  記事  >  バックエンド開発  >  php の apc 拡張機能の簡単な分析 (2)

php の apc 拡張機能の簡単な分析 (2)

WBOY
WBOYオリジナル
2016-07-29 09:15:10852ブラウズ

「実行時設定」: ここに表示されるのは、実行中の APC の構成情報です。パラメータ設定は php.ini で行います。

php の apc 拡張機能の簡単な分析 (2)

php の apc 拡張機能の簡単な分析 (2)

多くの apc パラメータがあります。一般的に使用されるパラメータをいくつか示します。

1 apc.cache_by_default および apc.filters: apc.cache_by_default、システム キャッシュをオンにするかどうか、通常はその後に apc が続きます。フィルターは、キャッシュする必要がある PHP ファイルとキャッシュする必要のない PHP ファイルを制御するために組み合わせて使用​​されます。 apc.filters パラメーターの値は、POSIX 拡張子正規表現のカンマ区切りのリストです。正規表現の最初の文字が + の場合、一致するファイルはキャッシュされます。一致するファイルはキャッシュされません。

デモ 1: システム キャッシュをオフにし、a と b で始まるファイルのみをキャッシュします。他のファイルはキャッシュされません。

  apc.cache_by_default = 0
  apc.filters=+a.*.php,+b.*.php

デモ 2: システム キャッシュをオンにし、a と b で始まるファイルをキャッシュしません。他のファイルはキャッシュされます。キャッシュ

  apc.cache_by_default = 1
  apc.filters = -a.*.php,-b.*.php

2 apc.shm_size および apc.shm_segments: apc.shm_size、各共有メモリ ブロックのサイズ (MB 単位)。システム キャッシュとユーザー キャッシュは共有されており、この値を調整することで APC の共有メモリ ブロックのサイズを変更できます。 apc.shm_size の値がシステムが達成できる最大値に設定されていてもまだ十分でない場合は、apc.shm_segments を使用する必要があります。このオプションの意味は、によって割り当てられる共有メモリ ブロックの数です。コンパイラ キャッシュにこの値を渡すと、共有メモリ ブロックの数を変更できます (ただし、テスト時点では、このオプションは有効ではありませんでした)。

3 apc.stat: スクリプトが更新されたかどうかを検出するために使用されます。これは、スクリプトが要求されるたびに、パフォーマンスに悪影響を及ぼします。運用環境のスクリプト ファイルは頻繁には更新されません。これをオフにすると、パフォーマンスが大幅に向上します。欠点は、スクリプトを更新するときに Web サーバーを再起動する必要があることです (nginx の場合は php- を再起動します)。 fpm) を実行して有効にします。

4 apc.ttl および apc.user_ttl: キャッシュ エントリがバッファ内に留まることが許可される秒数。違いは、apc.ttl はシステム キャッシュ用であり、apc.user_ttl はユーザー キャッシュ用であることです。テスト中、これら 2 つのオプションは適切なパフォーマンスを発揮しませんでした。たとえば、値が 10 に設定されている場合、キャッシュ エントリが 10 秒以内にアクセスされないと、これらのキャッシュ エントリはクリアされますが、10 秒後にはクリアされます。これらのエントリはまだ存在しており、Cleared はありません。

5 apc.num_files_hint および apc.user_entries_hint: Web サーバーに含まれる、または要求されるさまざまなソース ファイルの数の概算。apc.num_files_hint はシステム キャッシュ用、apc.user_entries_hint はユーザー キャッシュ用です。キャッシュ時間と同様に、キャッシュ量も影響を与えないようです。たとえば、量が 3 に設定されている場合、3 個を超えるファイルは引き続きキャッシュされます。

他のパラメータについてはあまり紹介しませんが、キャッシュ時間とキャッシュ量に関しては、おそらくオープン方法が間違っていて期待した効果が得られない可能性があります。これらのパラメータについて深く理解して研究している人は、遠慮せずに教えていただければと思います。

要約:

1 apc の公式マニュアルには、apc には 2 つの主要な設定オプションがあると明確に記載されています。1 つは、apc に割り当てるメモリの量 (オプション apc.shm_size)、もう 1 つは、apc を実行するたびにファイルの変更をチェックするかどうかです。が要求されている場合 (オプション apc.stat)、これら 2 つのオプションが APC にとって重要であることがわかります。時間があれば、これら 2 つの項目の学習に集中できます。

2 apc.cache_by_default開閉はシステム キャッシュにのみ影響し、ユーザー キャッシュには影響しません。

3 apcの共有メモリブロックはシステムキャッシュとユーザーキャッシュで共有されます。

4 apc 3.1.15-dev バージョン、php 5.5.10、オペレーティング システム centos6.5、apc.shm_segments の設定が有効になりませんでした。

5 APC キャッシュがいっぱいになると、システム キャッシュとユーザー キャッシュの動作が異なります。リクエスト時にシステム キャッシュ ファイルがキャッシュ制限に達すると、APC はリクエストを除く他のすべてのシステム キャッシュ ファイルをクリアします。変数 リクエスト中にキャッシュ制限に達すると、リクエスト変数を除く他のすべてのユーザー キャッシュ変数がクリアされます。つまり、システム キャッシュとユーザー キャッシュは相互に影響しません。

以上、PHP の apc 拡張機能 (2) について、内容の側面も含めて簡単に説明しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。