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

PHP APC の 2 セットの設定ファイルとパラメータの分析

Jun 21, 2018 am 10:40 AM
php

この記事では、主に 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 までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles