ホームページ バックエンド開発 PHPチュートリアル 2組のPHP APC設定ファイルとパラメータの詳細解説_PHPチュートリアル

2組のPHP APC設定ファイルとパラメータの詳細解説_PHPチュートリアル

Jul 13, 2016 am 10:28 AM
apc php

1. APC をインストールします
http://pecl.php.net/get/APC-3.1.9.tgz をダウンロードします

コンパイルパラメータは次のとおりです:

コードをコピーします コードは次のとおりです:
./configure --enable-apc --enable-apc-spinlocks --disable-apc-pthreadmutex

Iインストールプロセスには入りません。標準の 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中的extension 行注释掉)。

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

默认为 on,但可以设为 off 并和加号开头的 apc.filters 一起用,则文件仅在匹配过滤器时被缓存。

apc.filters string

一个以逗号分隔的 POSIX 扩展正则表达式的列表。如果任一个模式匹配源文件名,则该文件不被缓存。注意用来匹配的文件名是传递给 include/require 的文件名,而不是绝对路径。如果正则表达式的第一个字符是+ t则意味着任何匹配表达式的文件会被缓存,如果第一个字符是 - 则任何匹配项都不会被缓存。 -是默认值,可以省略掉。

apc.mmap_file_mask string

如果使用 --enable-mmap(默认启用)为APC编译了MMAP支持, 这里的值就是传递给mmap模块的mktemp风格的文件掩码(建议值为" /tmp/apc.XXXXXX")。 该掩码用于决定内存映射区域是否要被file-backed或者shared memory backed。 对于直接的file-backed内存映射,要设置成"/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指令。

Deprecated by apc.write_lock.

apc.file_update_protection integer

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

apc.enable_cli integer

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

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

ファイルをアップロードするためのバッファエントリ名のプレフィックス

apc.rfc1867_name string

APC で処理する必要がある隠しフォーム項目名

apc.rfc1867_freq string

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

apc.rfc1867_ttl bool

rfc1867 エントリの 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 string
apc.use_request_time bool
TTL の SAPI リクエスト開始時刻を使用します。

apc.file_md5 bool
ファイルのmd5値を記録します

apc.lazy_functions integer

関数の遅延読み込みを有効にする

apc.lazy_classes integer

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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/781813.html技術記事 1. APC をインストールします。 http://pecl.php.net/get/APC-3.1.9.tgz をダウンロードします。 コンパイル パラメータは次のとおりです。 次のようにコードをコピーします。 ./configure --enable-apc --enable -apc-spinlocks -- apc-pthreadmut を無効にする...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の 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 にアップグレードする方法について説明します。

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

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 は、

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

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

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

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles