PHP APCプロファイル2セットとパラメータ詳細

5977 ワード

一、APCをインストールしてダウンロードするhttp://pecl.php.net/get/APC-3.1.9.tgz
コンパイルパラメータは以下の通りです。
./configure --enable-apc --enable-apc-spinlocks --disable-apc-pthreadmutex
インストールプロセスはもちろん、標準のphp拡張インストールモードです。
二、2セットのプロファイル
性能が高く、頻繁な更新には適していません。
apc.enabled=1
apc.stat = 0
apc.stat_ctime = 0
apc.shm_size = 64M
apc.shm_segments = 1
apc.num_files_hint = 1000
apc.ttl = 0
apc.slam_defense = 0
apc.write_lock = 1
apc.file_update_protection = 2
性能はやや低いです。
apc.enabled=1
apc.stat = 1
apc.stat_ctime = 1
apc.shm_size = 64M
apc.shm_segments = 1
apc.num_files_hint = 1000
apc.ttl = 86400
apc.slam_defense = 0
apc.write_lock = 1
apc.file_update_protection = 2
2セットの配置の鍵はappc.statで、開いたらAPCはファイルの更新を確認しません。このように大量の不必要なシステム呼び出しを減らすことができます。しかし、新たに発表された問題に対してPHPを再起動する必要があります。状況に応じて選択できます。
また、パラメータ説明を添付します。
appc.enabled bootleanpc.enabledは0に設定してAPCを無効にすることができます。主にAPCを静的にコンパイルしてPHPに入れた時に、他の方法がないので、無効にします。
appc.shm_割り当てたい共有メモリブロックの数をsegments integerコンパイラがキャッシュします。APCが光を使ったらメモリを共有しますが、appc.shm_システムが許容できる最大値をsizeに設定して、この値を大きくしようとすることができます。
appc.shm_size integerはMB単位の共有メモリブロックあたりのサイズです。デフォルトでは、いくつかのシステム(ほとんどのBSD変数を含む)の共有メモリブロックサイズが非常に低いです。
appc.optimization integerの最適化レベル。0にすると、最適化器を無効にし、より高い値はよりアクティブな最適化を使用する。非常に限られた速度の上昇が期待される。まだ実験中です。
appc.num_files_hint integer Webサーバ上の、要求された異なるソースファイルの数の概算。確定していない場合は0にします。またはこれを削除します。この設定は主に数千のソースファイルがあるサイトで使用されます。
appc.user_entries_hint integerとap.num_files_hintは同様に、一意のユーザ数に応じてキャッシュ変数を記憶する。確定できない場合は0に設定します。または削除します。
appc.ttl integerキャッシュ項目バッファエリアに滞在する秒数を許可します。0はタイムアウトしないことを示します。推奨値7200~86400を0に設定すると、バッファが古いキャッシュ項目によって満たされる可能性があり、新しいエントリをキャッシュできなくなることを意味します。
appc.user_ttl integerはappc.ttlと似ていますが、ユーザーごとに推奨値は7200~86400です。0を設定すると、バッファが古いキャッシュ項目によって満たされる可能性があり、新しいエントリをキャッシュできなくなることを意味します。0より大きい場合、APCは失効したエントリを削除しようとします。
appc.gc_ttl integerキャッシュ項目がゴミ回収表に存在できる秒数です。この値は、サーバープロセスがキャッシュされたソースファイルを実行する際に、このファイルが修正されたら古いバージョンは回収されなくなります。ゼロにするとこの特性は無効になります。
appc.cacheby_default bollanはデフォルトはonですが、offにしてプラス記号の先頭のappc.filtersと一緒に使うことができます。ファイルはフィルタにマッチする時だけキャッシュされます。
appc.filters stringカンマ区切りのPOSIX拡張正規表現のリストです。いずれかのモードがソースファイル名に一致する場合、ファイルはキャッシュされません。一致するファイル名は、絶対パスではなく、include/requireに渡すファイル名です。正規表現の最初の文字が+tであれば、任意のマッチ式のファイルがキャッシュされることを意味します。最初の文字が−であれば、マッチする項目はキャッシュされません。はデフォルトです。省略できます。
appc.mmap_file_mask string-enabl-mmapを使用すれば、APCにMMAPサポートをコンパイルしました。ここでの値はmmapモジュールのmktempスタイルに伝えるファイルマスクです。このマスクは、メモリマッピング領域がfile-backedまたはshared memory backedであるかどうかを決定するために使用される。直接のfile-backedメモリマッピングについては、「/tmp/appc.XXXXX」のように設定します。POSIXスタイルのshm_を使います。open/mmapは「/appc.shm.XXXX」のように設定する必要があります。また、匿名でマッピングされたメモリにカーネルの「/dev/zero」インターフェースを使用するために「/dev/zero」を設定することもできます。このコマンドを定義しないと、匿名のマッピングを強制的に使用することを意味します。
appc.slam_defense integerは、非常に多忙なサーバ上で、サービスを起動してもファイルを修正しても、複数のプロセスが同じファイルを同時にキャッシュしようとしているため、競合条件が発生する可能性があります。このオプションは、キャッシュされていないファイルを処理する際に、キャッシュステップの百分率をスキップするプロセスを設定します。例えば75を設定すると、キャッシュされていないファイルに出会ったときに75%の確率でキャッシュを行わず、衝突確率を減らすことができます。このコマンドの使用に反対し、インセンティブを0に設定してこの特性を無効にします。appc.write_を使うべきだと提案します。ロック命令
Deprecated by appc.write_ロック.
appc.file_udate_protection integerは実行中のサーバーでファイルを変更するときは原子操作を実行してください。つまり、一時ファイルに書き込んでから、最終的な名前に名前を変更します。テキストエディタやcp,tarなどのプログラムはこのように操作されていませんので、ファイルの残渣がバッファリングされる可能性があります。デフォルト値2は、ファイルにアクセスする際に、修正時間が2秒未満であると発見された場合はバッファを行いません。その不幸な訪問者は不完全な内容を得るかもしれませんが、この悪影響はキャッシュを通じて拡大されません。すべての更新操作が原子操作であることを確認できれば、この特性は0で閉じることができます。あなたのシステムが大量のIO操作で更新が遅い場合は、この値を大きくする必要があります。
appc.enable_cli integerがCLIバージョンのAPC機能を有効にしているかどうかは、テストとデバッグの目的だけで開きます。通常の状況では、CLIの各要求に対するAPCキャッシュの作成、充填、廃棄は理想的ではありませんが、CLIバージョンのPHP APCを簡単に使用することができます。
appc.max_file_size integerのデフォルト1 Mは、この値より大きいファイルはキャッシュされません。
appc.stat integerがスクリプト更新を有効にしているかどうかチェックします。この指令値を変えるには非常に注意が必要です。デフォルト値Onは、APCがスクリプトを要求するたびに、スクリプトが更新されているかどうかを確認し、更新されたら自動的にコンパイルされ、キャッシュがコンパイルされた後のコンテンツを表します。しかし、このようにすると性能に不利な影響があります。Offにすると検査しないという意味で、性能が大幅に向上します。しかし、アップデートの内容を有効にするためには、Webサーバを再起動する必要があります。生産サーバー上のスクリプトファイルはほとんど変更されていません。このオプションを無効にすることによって、著しく性能が向上します。
このコマンドはinclude/requireのファイルに対しても同様に有効です。ただし、相対パスを使用すると、APCは毎回include/requireでファイルを特定するためにチェックしなければなりません。絶対パスを使うとチェックをスキップすることができますので、絶対パスを使ってinclude/requireを操作することをお勧めします。
appc.write_lock book leanは、忙しいサーバ上で、Webサーバが初めて起動されたり、多くのファイルが同じ時間に修正されたり、APCは同じファイルを何度もコンパイルしたりします。他のプロセスは、スクリプトを使用しようとしていますが、ロックやキャッシュ生成待ちではなく、opcodeキャッシュを使用します。
appc.レポートautfilter bollanは、early/late bindingによって自動的にキャッシュされていないスクリプトを全て記録していますか?
appc.include_オースoverride book最適化include_オンス()とrequire_Once()関数は、追加のシステム呼び出しを実行しないようにします。
appc.rfc 1867 bootleanは監視ファイルのアップロード進捗機能を開始します。
appc.rfc 1867_prefix stringファイルをアップロードするためのバッファ項目名プレフィックス
appc.rfc 1867_name stringはAPCで処理されるアップロードファイルの隠しフォーム項目名が必要です。
appc.rfc 1867_freq stringユーザがファイルキャッシュ項目をアップロードする更新頻度。取得値は、ファイルサイズ全体のパーセンテージ、または「k」、「m」、or「g」kilobytes、megabytes、or gigabytesの末尾の絶対サイズ(大きさは書き込みに敏感ではない)、0でできるだけ早い更新を表しますが、これによりアップロード速度が低下する可能性があります。
appc.rfc 1867_ttl book lTTL for rfc 1867 entries.
appc.locache bootleanは、ローカルプロセスをロックしないshow-cacheを使用して、バッファエリアへの書き込み時のロック間の競争を減らすことができます。
appc.locache.size integer The size of the local process show-cache,shuld be set to a sufficiently large value,appicapple half of appc.num_files_hint.
appc.co redump_unmap bootleanは、SIGS EGV信号などのAPCの信号ハンドルを有効にし、コアファイルに信号を書き込む。これらの信号が受信されると、APCは、マッピングされた共有メモリセグメントをキャンセルし、コアファイルから除外しようとする。この設定はシステムの安定性を向上させることができます。致命的な信号を受け取る場合、またはAPCの大規模な共有メモリセグメント構成を採用する場合。
appc.stat_ctime integer検証ctime(作成時間)は、SVNまたはrsyncによる問題を回避し、前回統計よりinodeが変更されていないことを確認します。APCは通常mtimeのみを検査します。
appc.canicalize bookがonに設定されていると、no-stateモード(ファイル更新を確認しない)で相対パスを絶対パスに変更します。
appc.preload_path string appc.use_request_time book lUse the SAPI request start time for TTL.
appc.file_md 5 book記録ファイルのmd 5値
appc.lazy_functions integerイネーブル関数ディレイローディング
appc.lazy_clases integerイネーブルクラス遅延読み込み