APCキャッシングを最適化します
-
01-10-2019 - |
質問
これが私のAPCの実行方法へのリンクです:[削除
ご覧のとおり、それはかなり早くいっぱいになり、私のキャッシュの完全なカウントは時々1000以上になります
私のウェブサイトはWordPressを使用しています。
新しい投稿をするか、投稿を編集するたびに、2つのことが起こることに気付きます。
1)APCメモリ「使用済み」リセット2)たくさんのフラグメントが得られます
APC(512 MB)により多くのメモリを与えようとしましたが、時々クラッシュしますが、384が最適だと思われます。また、Apacheを再起動するCronジョブもあり、4時間ごとに断片のすべてのAPCをクリアし、メモリを使用しました。繰り返しますが、APCが長期間実行されている場合、私のApacheはクラッシュします。フラグメントの蓄積のために、私は思います。
apc.filtersを使用して、キャッシュしてはならないものを除外する必要がありますか?
私はこの種のことから本当に初心者ですので、誰かが完全な指示で説明できるなら、どうもありがとうございました!!!
解決
APC TTLは、フラグメントの蓄積の世話をする必要があります。私は通常7200でそれを設定します。私はWordPressを使用して小さなVPSで実行しています、そして私の設定は次のとおりです。
apc.enabled=1
apc.shm_segments=3
apc.shm_size=32
apc.ttl=7200
apc.user_ttl=7200
apc.num_files_hint=2048
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.enable_cli=1
apc.max_file_size=10M
また、WordPressの組み込みオブジェクトキャッシュを使用することで、さらに多くのメリットを得ることができ、Mark Jaquithは本当に良いことを書きました プラグインをドロップします また、投稿を保存または編集する際の断片化の問題のいくつかにも役立ちます。
他のヒント
私はLinuxシステム管理者として働いており、WordPressサーバーは5つの異なるWordPressインストールを実行しています。 1つだけ実行している場合は、検討する構成にコメントします。
APC / PHPバージョン、3.1.9 / 5.3.7
これが私の完全なapc.confです、
apc.enabled=1
apc.shm_segments=1
; I would try 32M per WP install, go from there
apc.shm_size=128M
; Relative to approx cached PHP files,
apc.num_files_hint=512
; Relative to approx WP size W/ APC Object Cache Backend,
apc.user_entries_hint=4096
apc.ttl=7200
apc.use_request_time=1
apc.user_ttl=7200
apc.gc_ttl=3600
apc.cache_by_default=1
apc.filters
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.file_update_protection=2
apc.enable_cli=0
apc.max_file_size=2M
;This should be used when you are finished with PHP file changes.
;As you must clear the APC cache to recompile already cached files.
;If you are still developing, set this to 1.
apc.stat=0
apc.stat_ctime=0
apc.canonicalize=1
apc.write_lock=1
apc.report_autofilter=0
apc.rfc1867=0
apc.rfc1867_prefix =upload_
apc.rfc1867_name=APC_UPLOAD_PROGRESS
apc.rfc1867_freq=0
apc.rfc1867_ttl=3600
;This MUST be 0, WP can have errors otherwise!
apc.include_once_override=0
apc.lazy_classes=0
apc.lazy_functions=0
apc.coredump_unmap=0
apc.file_md5=0
apc.preload_path
@chris_o, 、構成はいくつかの側面で最適ではありません。
1. apc.shm_segments = 3
最新のLinuxディストリビューションを実行する場合、SHMは十分に大きくて十分に大きくする必要があります。検索が小さすぎる場合は、sysctl.confエントリを設定する方法は、このように確認できます。
#Check Max Segment size
cat /proc/sys/kernel/shmmax
特定のBSD、または他のUNIX、または管理されていないホストで実行している場合の例外。連続したセグメントを持たないことには欠点があります。その情報については、APCの詳細をお読みください。
2. apc.enable_cli = 1
悪い悪い、これはデバッグのみです! PHP-CLIを実行するたびに、APCキャッシュがクリアされます。
3. apc.max_file_size = 10m
不必要でばかげている!大きなファイルがあれば、その小さな32m SHMの1/3を食べます。 3つを指定しても、3つのピースで1つの大きなセグメントのように振る舞うだけではありません。関係なく、WPにはそのサイズに近い単一のPHPファイルさえありません。
'私が彼らのapc.confで人々を助けてくれることを願っています。
実際にAPC.Stat = 0を生産サーバーに設定する必要があり、APCが実際にIOに移動してファイルが変更されているかどうかを確認できません。
最初にドキュメントをご覧ください: http://php.net/manual/en/apc.configuration.php