PHP ヒントの紹介: APC キャッシュを使用して PHP プログラムを最適化する

WBOY
リリース: 2016-07-25 08:46:26
オリジナル
1131 人が閲覧しました

また知らずに編集者の記事に来てしまいましたが、少し知識を持ってきましたので、皆さんに何か得ていただければ幸いです。 プログラミング言語とは何ですか

Alternative PHP Cache (APC) は、無料で公開されている、PHP 用に最適化されたコード キャッシュです。これは、PHP 中間コードをキャッシュおよび最適化するための、無料でオープンかつ堅牢なフレームワークを提供するために使用されます。
Windows では、APC では、Web サーバー プロセスによって c:\\tmp ディレクトリが書き込み可能であることが必要です。
1. インストール
PHP 拡張機能としてインストールします
2. 設定
apc.enabled ブール値
apc.optimization 最適化
オプションはスクリプトで変更できます
APC PHP.ini 設定オプションの詳細な説明
[APC]
; 代替 PHP キャッシュは、PHP 中間コードをキャッシュして最適化するために使用されます
apc.cache_by_default = オン
;シス
; すべてのファイルに対してデフォルトでバッファリングを有効にするかどうか。
; Off に設定し、プラス記号で始まる apc.filters ディレクティブと一緒に使用すると、ファイルはフィルターに一致する場合にのみキャッシュされます。
apc.enable_cli = オフ
;シス
; CLI ビルドで APC 機能を有効にするかどうかは、テストとデバッグの目的でのみこのディレクティブをオンにします。
apc.enabled = オン
; APC を有効にするかどうか。APC が静的に PHP にコンパイルされており、それを無効にしたい場合は、これが唯一の方法です。
apc.file_update_protection = 2
;シス
; 実行中のサーバー上のファイルを変更する場合は、アトミック操作を実行する必要があります。
; つまり、最初に一時ファイルに書き込み、次にファイルの名前を最終的な名前に変更 (mv) します。
; テキスト エディターや cp や tar などのプログラムはこのように動作しないため、不完全なファイルがバッファリングされる可能性があります。
; デフォルト値 2 は、ファイルにアクセスするときに、変更時間がアクセス時間から 2 秒未満であることが判明した場合、バッファリングは実行されないことを意味します。
; 運が悪い訪問者は破損したコンテンツを受け取る可能性がありますが、その悪影響はキャッシュによって増幅されません。
; すべての更新操作がアトミックであることを確認できる場合は、0 を指定してこの機能をオフにすることができます。
; IO 操作が多いためにシステムの更新が遅い場合は、この値を増やす必要がある場合があります。
apc.filters =
;シス
; POSIX 拡張正規表現のカンマ区切りのリスト。
; ソース ファイル名がいずれかのパターンに一致する場合、ファイルはキャッシュされません。
; マッチングに使用されるファイル名は、絶対パスではなく、include/require に渡されるファイル名であることに注意してください。
; 正規表現の最初の文字が「+」の場合、その正規表現に一致するファイルがキャッシュされることを意味します。 ; 最初の文字が「-」の場合、一致するものはキャッシュされません。 「-」はデフォルト値であり省略可能です。
apc.ttl = 0
;シス
; キャッシュ エントリがバッファ内に存在できる秒数。 0 はタイムアウトしないことを意味します。推奨値は7200~36000です。
; 0 に設定すると、バッファが古いキャッシュ エントリでいっぱいになり、新しいエントリがキャッシュされなくなる可能性があります。
apc.user_ttl = 0
;シス
; apc.ttl と似ていますが、各ユーザーの推奨値は 7200 ~ 36000 です。
; 0 に設定すると、バッファが古いキャッシュ エントリでいっぱいになり、新しいエントリがキャッシュされなくなる可能性があります。
apc.gc_ttl = 3600
;シス
; キャッシュ エントリがガベージ コレクション テーブルに存在できる秒数。
; この値は、キャッシュされたソース ファイルの実行中にサーバー プロセスがクラッシュした場合でも安全対策を提供します。 ; ソース ファイルが変更されている場合、古いバージョンに割り当てられたメモリは、この TTL 値に達するまで再利用されません。
; この機能を無効にするには、0 に設定します。
apc.include_once_override = オフ
;シス
; 予期しない結果が生じる可能性があるため、オフのままにしてください。
apc.max_file_size = 1M
;シス
; このサイズを超えるファイルがキャッシュされないようにします。
apc.mmap_file_mask =
;シス
; MMAP サポートが --enable-mmap (デフォルトで有効) を使用して APC 用にコンパイルされている場合、
; ここでの値は、mmap モジュールに渡される mktemp スタイルのファイル マスクです (推奨値は「/tmp/apc.XXXXXX」です)。
; このマスクは、メモリ マップ領域をファイル バックアップするか共有メモリ バックアップするかを決定するために使用されます。
; 直接ファイルバックアップメモリ​​マッピングの場合は、「/tmp/apc.XXXXXX」(正確に 6 つの X)に設定します。
; POSIX スタイルの shm_open/mmap を使用するには、「/apc.shm.XXXXXX」に設定する必要があります。
; 「/dev/zero」に設定して、匿名でマップされたメモリにカーネルの「/dev/zero」インターフェイスを使用することもできます。
; このディレクティブを定義しないと、匿名マッピングの使用が強制されます。
ウェブプログラミング言語

プログラミング言語の記述は、一般的に構文とセマンティクスに分けることができます。文法はプログラミング言語における記号や単語の正しい組み合わせであり、セマンティクスはプログラミングの説明です。一部の言語は仕様書によって定義されています。たとえば、C 言語の仕様書は ISO 標準の一部ですが、他の言語 (Perl など) には主要な規格があります。プログラミング言語実装ドキュメント。リファレンス実装とみなされます。 [1]
プログラミング言語は一般に「コンピュータ言語」として知られており、一般的には機械語、アセンブリ言語、高級言語の3つのカテゴリに分類できます。コンピュータによって実行されるすべてのアクションやステップは、コンピュータ言語でプログラムされたプログラムに従って実行されます。プログラムは、コンピュータが実行するための命令の集合であり、すべてのプログラムは私たちが習得する言語で書かれています。したがって、人間がコンピュータを制御したい場合は、コンピュータ言語を介してコンピュータにコマンドを発行する必要があります。 現在、プログラミング言語にはアセンブリ言語と高級言語という 2 つの一般的な形式があります。 [1]
apc.num_files_hint = 1000
;シス
; Web サーバーに含めたりリクエストしたりできるさまざまなソース ファイルのおおよその数 (推奨値は 1024 ~ 4096)。
; よくわからない場合は、0 に設定してください。この設定は主に、数千のソース ファイルがあるサイトに役立ちます。
apc.最適化 = 0
; 最適化レベル (推奨値は 0)。
; 正の整数値はオプティマイザーを有効にし、値が大きいほどより積極的な最適化を使用します。
; 値を大きくすると、速度の改善が非常に限定される可能性がありますが、現在は実験段階です。
apc.report_autofilter = オフ
;シス
; 早期/遅延バインディングの理由により自動的にキャッシュされないすべてのスクリプトを記録するかどうか。
apc.shm_segments = 1
;シス
; コンパイラ バッファに割り当てられる共有メモリ ブロックの数 (推奨値は 1)。
; APC が共有メモリを使い果たし、apc.shm_size ディレクティブがシステムで許容される最大値に設定されている場合、
; この値を増やしてみてください。
apc.shm_size = 30
;シス
; 各共有メモリ ブロックのサイズ (MB 単位、推奨値は 128 ~ 256)。
; 一部のシステム (ほとんどの BSD バリアントを含む) のデフォルトの共有メモリ ブロック サイズは非常に小さいです。
apc.slam_defense = 0
;SYS (このコマンドの使用には反対です。apc.write_lock コマンドを使用することをお勧めします)
; 非常に負荷の高いサーバーでは、サービスの開始時でもファイルの変更時でも、
; 複数のプロセスが同時にファイルをキャッシュしようとするため、競合状態が発生する可能性があります。
; このディレクティブは、キャッシュされていないファイルを処理するときにプロセスがキャッシュ手順をスキップする割合を設定するために使用されます。
; たとえば、これを 75 に設定すると、キャッシュされていないファイルが見つかった場合に 75% の確率でキャッシュされないため、衝突の可能性が低くなります。
; この機能を無効にするには、0 に設定することをお勧めします。
apc.stat = オン
;シス
; スクリプトの更新チェックを有効にするかどうか。
; このディレクティブの値を変更する場合は十分に注意してください。
; デフォルト値 On は、APC がリクエストされるたびにスクリプトが更新されたかどうかを確認することを意味します。 ; 更新された場合は、コンパイルされたコンテンツを自動的に再コンパイルしてキャッシュします。ただし、これを行うとパフォーマンスに悪影響が生じます。
; Off に設定すると、チェックは実行されないため、パフォーマンスが大幅に向上します。
; ただし、更新されたコンテンツを有効にするには、Web サーバーを再起動する必要があります。
; このディレクティブは include/require ファイルにも有効です。ただし、注意してください
; 相対パスを使用する場合、APC はすべての include/require でファイルの場所を確認する必要があります。
; 絶対パスを使用するとチェックがスキップされる可能性があるため、include/require 操作には絶対パスを使用することをお勧めします。
apc.user_entries_hint = 100
;シス
; num_files_hint ディレクティブに似ていますが、ユーザーごとに異なります。
; よくわからない場合は 0 に設定してください。
apc.write_lock = オン
;シス
; 書き込みロックを有効にするかどうか。
; 非常に負荷の高いサーバーでは、サービスの開始時でもファイルの変更時でも、
; 複数のプロセスが同時にファイルをキャッシュしようとするため、競合状態が発生する可能性があります。
; 競合状態を回避するには、このディレクティブを有効にします。
apc.rfc1867 = オフ
;シス
; このディレクティブをオンにした後、ファイル フィールドの直前に APC_UPLOAD_PROGRESS フィールドを含むアップロード ファイルごとに、
; APC は、upload_ のユーザー キャッシュ エントリ (つまり、APC_UPLOAD_PROGRESS フィールド値) を自動的に作成します。
3. 機能
apc_cache_info - APC のデータ ストアからキャッシュされた情報 (およびメタデータ) を取得します
apc_clear_cache - APC キャッシュをクリアします
apc_define_constants - 後の取得と一括定義のために定数のセットを定義します
apc_delete - 保存された変数をキャッシュから削除します
apc_fetch - キャッシュから保存された変数をフェッチします
apc_load_constants - キャッシュから一連の定数をロードします
apc_sma_info - APC の共有メモリ割り当て情報を取得します
apc_store - データストアに変数をキャッシュします
apc の使用法は比較的単純で、以下に示す機能がいくつかあるだけです。
apc_cache_info () はキャッシュ情報を返します
apc_clear_cache() は、APC キャッシュの内容をクリアします。
デフォルト (パラメータなし) では、システム キャッシュのみがクリアされます。ユーザー キャッシュをクリアするには、「user」パラメータが必要です。
apc_define_constants (string key, array constants [, bool case_sensitive]) 配列定数を定数としてキャッシュに追加します。
apc_load_constants (文字列キー)。
定数キャッシュを削除します。
apc_store (文字列キー、混合変数 [, int ttl] )。
データをキャッシュに保存します。
apc_fetch(文字列キー)。
apc_store によって保存されたキャッシュ コンテンツを取得します
apc_delete (文字列キー)。
apc_store で保存したコンテンツを削除します。
APC 管理:
pecl.php.net に移動して、apc ソース コード パッケージをダウンロードします。apc.php があるので、それを Web サーバーがアクセスできる場所にコピーし、参照してアクセスします。
管理インターフェースの機能には以下が含まれます:
1. データを更新します
2. ホスト統計を表示する
3. システムキャッシュエントリ
4. ユーザーキャッシュエントリ
5. バージョンチェック

C言語プログラミング

たくさん得したと感じたら、レッスンホーム公式ウェブサイトにアクセスして、一緒に知識の楽園に入ってください!




ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート