検索
ホームページバックエンド開発PHPチュートリアルPHP APC の 2 セットの設定ファイルとパラメータの分析

この記事では、主に 2 つの PHP APC 設定ファイルと詳細なパラメーターを紹介します。必要な方は、

1 のコンパイルを参照してください。パラメータは次のとおりです:

./configure --enable-apc --enable-apc-spinlocks --disable-apc-pthreadmutex

インストール プロセス (標準の PHP 拡張機能インストール モード) には入りません。


2 設定ファイル 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 セットの構成の鍵となるのは、その後の apc.stat です。オンにすると、APC はファイルが更新されたかどうかをチェックしないため、大量の不要なシステム コールを減らすことができます。

ただし、新しくリリースされた問題については、PHP の再起動が必要になります。# 状況に応じて選択できます。

##さらに、パラメータの説明を添付します。

apc.enabled boolean

apc.enabled を 0 に設定すると、APC を無効にできます。これは主に、APC が静的に PHP にコンパイルされるときに使用されます。これは、他に無効にする方法がないためです (DSO としてコンパイルされている場合は、php.ini の拡張行をコメント アウトできます)。


apc.shm_segments integer

コンパイラ キャッシュによって割り当てられる共有メモリ ブロックの数。 APC が共有メモリを使い果たしているにもかかわらず、apc.shm_size がシステムで許可されている最大値に設定されている場合は、この値を増やしてみることができます。


apc.shm_size integer

各共有メモリ ブロックのサイズ (MB 単位)。一部のシステム (ほとんどの BSD バリアントを含む) では、デフォルトで共有メモリ ブロック サイズが非常に小さくなります。

apc.optimization integer

最適化レベル。オプティマイザーを無効にするには 0 に設定し、より積極的な最適化を使用するには値を大きくします。速度の改善は非常に限られていると予想されます。まだテスト中です。


apc.num_files_hint integer

Web サーバーに含まれる、または要求されるさまざまな元のファイルの数の概算。 0 に設定するか、不明な場合はこのオプションを削除してください。この設定は主に数千のソース ファイルを含むサイトで使用されます。


apc.user_entries_hint integer

apc.num_files_hint と同様に、一意のユーザーの数に基づいてキャッシュ変数を保存します。不明な場合は、0 に設定するか、この項目を削除してください。


apc.ttl integer

キャッシュ エントリがバッファ内に存在できる秒数。 0 はタイムアウトしないことを意味します。推奨値は 7200 ~ 86400 です。これを 0 に設定すると、バッファが古いキャッシュ エントリでいっぱいになり、新しいエントリをキャッシュできなくなる可能性があります。


apc.user_ttl integer

apc.ttl と似ていますが、各ユーザーの推奨値は 7200 ~ 86400 です。 0 に設定すると、バッファが古いキャッシュ エントリでいっぱいになり、新しいエントリがキャッシュされなくなる可能性があることを意味します。 0 より大きい場合、APC は期限切れのエントリを削除しようとします。


apc.gc_ttl integer

キャッシュ エントリがガベージ コレクション テーブルに存在できる秒数。この値は、サーバー プロセスがキャッシュされたソース ファイルを実行中にファイルが変更された場合、この TTL に達するまで古いバージョンはリサイクルされないという安全策を提供します。この機能を無効にするには、ゼロに設定します。

apc.cache_by_default boolean

デフォルトはオンですが、オフに設定して、プラス記号で始まる apc.filters と一緒に使用することもできます。その場合、ファイルはフィルターに一致するときにキャッシュされます。


apc.filters string

POSIX 拡張正規表現のカンマ区切りのリスト。いずれかのパターンがソース ファイル名と一致する場合、そのファイルはキャッシュされません。一致に使用されるファイル名は、絶対パスではなく、include/require に渡されたファイル名であることに注意してください。正規表現の最初の文字が t の場合、その式に一致するファイルがキャッシュされることを意味します。最初の文字が - の場合、一致するファイルはキャッシュされません。 - はデフォルト値であり、省略できます。


apc.mmap_file_mask string

MMAP サポートが --enable-mmap (デフォルトで有効) を使用して APC 用にコンパイルされた場合、ここでの値は、 mmap モジュールのマスク (推奨値は「/tmp/apc.XXXXXX」)。このマスクは、メモリ マップ領域をファイル バックアップするか共有メモリ バックアップするかを決定するために使用されます。ファイルに基づくダイレクト メモリ マッピングの場合は、「/tmp/apc.XXXXXX」 (正確に 6 つの X) のように設定します。 POSIX スタイルの shm_open/mmap を使用するには、「/apc.shm.XXXXXX」に設定する必要があります。また、これを「/dev/zero」に設定して、匿名でマップされたメモリにカーネルの「/dev/zero」インターフェイスを使用することもできます。このディレクティブを定義しないと、匿名マッピングの使用が強制されます。


apc.slam_defense integer

非常に負荷の高いサーバーでは、サービスの開始時でもファイルの変更時でも、複数のプロセスが同時にファイルをキャッシュしようとすることで競合状態が発生する可能性があります。時間。このオプションは、キャッシュされていないファイルを処理するときにプロセスがキャッシュ手順をスキップする割合を設定します。たとえば、これを 75 に設定すると、キャッシュされていないファイルが見つかったときに 75% の確率でキャッシュされないことになり、衝突の可能性が低くなります。このディレクティブの使用は非推奨となっており、この機能を無効にするには 0 に設定することをお勧めします。 apc.write_lock 命令を使用することをお勧めします。

apc.write_lock.
によって非推奨になりました

apc.file_update_protection integer
実行中のサーバー上のファイルを変更するときは、アトミック操作を実行する必要があります。つまり、最初に一時ファイルに書き込み、次にそのファイルの名前を最終的な名前に変更 (mv) します。テキスト エディターや cp や tar などのプログラムはこのようには動作しないため、不完全なファイルがバッファリングされる可能性があります。デフォルト値 2 は、ファイルにアクセスするときに、変更時間がアクセス時間から 2 秒未満であることが判明した場合、バッファリングは実行されないことを意味します。不運な訪問者は破損したコンテンツを受け取る可能性がありますが、その悪影響はキャッシュによって拡大されません。すべての更新操作がアトミックであることを確認できる場合は、0 を指定してこの機能をオフにすることができます。 IO 操作が多いためにシステムの更新が遅い場合は、この値を増やす必要がある場合があります。

apc.enable_cli integer
CLI バージョンの APC 機能を有効にするかどうかは、テストとデバッグの目的でのみこのオプションをオンにします。通常の状況では、CLI へのリクエストごとに APC キャッシュを作成、設定、破棄するのは理想的ではありませんが、CLI バージョンの PHP APC

# を簡単に作成できることは、さまざまなテスト シナリオで役立ちます。 ##apc.max_file_size integerデフォルトは 1M で、この値より大きいファイルはキャッシュされません。

apc.stat integerスクリプトの更新を有効にするかどうかチェック。このコマンドの値を変更する場合は十分に注意してください。デフォルト値 On は、APC がスクリプトが要求されるたびに更新されているかどうかをチェックし、更新されている場合は自動的に再コンパイルし、コンパイルされたコンテンツをキャッシュすることを示します。ただし、これを行うとパフォーマンスに悪影響が生じます。 Off に設定するとチェックは実行されないため、パフォーマンスが大幅に向上します。ただし、更新されたコンテンツを有効にするには、Web サーバーを再起動する必要があります (翻訳者注: cgi/fcgi を使用している場合は、cgi/fcgi プロセスを再起動する必要があります)。スクリプト ファイルがほとんど変更されない運用サーバーでは、このオプションを無効にすることで大幅なパフォーマンスの向上を実現できます。

このディレクティブは、include/require ファイルにも有効です。ただし、相対パスを使用する場合、APC は include/require するたびにファイルの場所を確認する必要があることに注意してください。絶対パスを使用するとチェックがスキップされる可能性があるため、include/require 操作には絶対パスを使用することをお勧めします。

apc.write_lock boolean負荷の高いサーバーでは、Web サーバーが初めて起動されるとき、または多くのファイルが同時に変更されるときに、APC が同じものをコンパイルする可能性があります。ファイルを複数回ファイル、書き込みロックにより、1 つのプロセスだけがキャッシュされていないスクリプトのコンパイルとキャッシュを試行することが保証されます。スクリプトを使用しようとする他のプロセスはオペコード キャッシュを使用せず、代わりにロックしてキャッシュが生成されるのを待ちます。

apc.report_autofilter boolean
早期/遅延バインディングの理由により自動的にキャッシュされないすべてのスクリプトを記録するかどうか。

apc.include_once_override boolean
include_once() 関数と require_once() 関数を最適化して、追加のシステム コールの実行を回避します。

apc.rfc1867 boolean
ファイル アップロードの進行状況の監視機能を有効にする

apc.rfc1867_prefix stringファイルのアップロードのバッファリング項目エントリname prefix

apc.rfc1867_name stringAPC で処理する必要があるアップロードされたファイルの隠しフォーム項目名

apc.rfc1867_freq string
ユーザーがアップロードしたファイル キャッシュ アイテムの更新頻度。値は合計ファイル サイズのパーセンテージ、または「k」、「m」、または「g」で終わる絶対サイズ (大文字と小文字は区別されません) です。0 は最速の更新を意味します。これにより、アップロード速度が遅くなる可能性があります。

apc.rfc1867_ttl boolrfc1867 エントリの TTL。

apc.localcache boolean
非ロック ローカル プロセス シャドウを使用する- キャッシュ。バッファに書き込む際のロック間の競合を軽減します。

apc.localcache.size integer
ローカル プロセスのシャドウ キャッシュのサイズは、十分に大きな値 (apc.num_files_hint.
の約半分) に設定する必要があります。

apc.coredump_unmap boolean
シグナルがコア ファイルに書き込まれるときに、SIGSEGV シグナルなどの APC シグナル ハンドラーを有効にします。これらの信号を受信すると、APC は共有メモリ セグメントのマッピングを解除し、コア ファイルから除外しようとします。この設定により、致命的な信号を受信したとき、または APC の大規模な共有メモリ セグメント構成を使用したときのシステムの安定性が向上します。

apc.stat_ctime integer
ctime (作成時間) を検証すると、SVN または rsync によって引き起こされる問題を回避し、最後の統計以降に i ノードが変更されていないことを確認できます。 APC は通常、mtime (変更時間) のみをチェックします。

apc.canonicalize bool
on に設定すると、相対パスは状態なしモード (ファイルの更新のチェックなし) で絶対パスに変更されます。

apc.preload_path stringapc.use_request_time bool
TTL の SAPI リクエスト開始時刻を使用します。

##apc.file_md5 bool

ファイルの md5 値を記録します
##apc.lazy_functions integer

関数の遅延読み込みを有効にする
##apc.lazy_classes integer

クラスの遅延読み込みを有効にする

以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

PHP で乱数を生成する 3 つの方法

PHP で一般的に使用されるフレームワーク関数の比較 # #####################################

以上がPHP APC の 2 セットの設定ファイルとパラメータの分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPの現在のステータス:Web開発動向を見てくださいPHPの現在のステータス:Web開発動向を見てくださいApr 13, 2025 am 12:20 AM

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHP対その他の言語:比較PHP対その他の言語:比較Apr 13, 2025 am 12:19 AM

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHP対Python:コア機能と機能PHP対Python:コア機能と機能Apr 13, 2025 am 12:16 AM

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHP:Web開発の重要な言語PHP:Web開発の重要な言語Apr 13, 2025 am 12:08 AM

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHP:多くのウェブサイトの基礎PHP:多くのウェブサイトの基礎Apr 13, 2025 am 12:07 AM

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

誇大広告を超えて:今日のPHPの役割の評価誇大広告を超えて:今日のPHPの役割の評価Apr 12, 2025 am 12:17 AM

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPの弱い参照は何ですか、そしていつ有用ですか?PHPの弱い参照は何ですか、そしていつ有用ですか?Apr 12, 2025 am 12:13 AM

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

PHPで__invoke Magicメソッドを説明してください。PHPで__invoke Magicメソッドを説明してください。Apr 12, 2025 am 12:07 AM

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい