PHP-APCはしばしばapc.shm_sizeの制限を超えています


1

現在、1000のサイトを持つ共有サーバーにapcを実装しています(ワードプレス、moodleなどを使用)。管理ページを探していますが、「キャッシュフルカウント」が急速に増加しています。「apc.shm_size」の値を増やして「apc.ttl」の値を減らして「apc.shm_segments」の値を増やしてみましたが、この問題を解決できません。何が間違っていますか?私はいくつかの情報を書き留めています:

apc.ini:

extension = apc.so

apc.shm_size = 256

apc.enabled = 1

apc.ttl = 300

apc.user_ttl = 300

Ubuntu:12.04

PHP:5.3.10

APC:3.1.7

サーバーには16GBのメモリがあります

共有メモリの制限:256MB

キャッシュが100%に達したときにキャッシュをクリアしない可能性はありますか?


3
APCに十分なキャッシュを提供していないことは明らかです。256MBは、セットアップには非常に小さく聞こえます。
マイケルハンプトン

マイケル、返信ありがとう。私が間違っている場合は修正してください。この「apc.shm_size」は、「cat / proc / sys / kernel / shmmax」の結果に応じて設定しないでください。
user142741

回答:


1

あなたの設定してみてくださいapc.gc_ttlを 600のように、低いものに、そしてあなたのapc.max_file_size APCは、2Mのようなものに、キャッシュする最大サイズです。

apc.gc_ttl = 600
apc.max_file_size = 2M

また、Michaelが指摘したように、1000サイトの256Mは非常に低いです。

まず、apc.shm_size制限を増やしてみてください。

apc.shm_size = 2048M

カーネル共有メモリの制限に達している場合、これは関連している可能性がありますが、常にそうではない場合は、を増やしてみてくださいapc.shm_segments

apc.shm_segments = 10
apc.shm_size = 256M
apc.max_file_size = 2

私は提案されたとおりに行い、同じままでした。「キャッシュフルカウント67.730」:上の2分
user142741

この「apc.shm_size」は、「cat / proc / sys / kernel / shmmax」の結果に応じて設定しないでください。
user142741

apc.shm_sizeを1024Mに増やしました。5分が経過し、「キャッシュフルカウント」は1つだけです。ヒット225505 /ミス19845
user142741

キャッシュを常に再構築しようとしないように、apc.ttlを増やしてみてください。それは多くのリソースを消費します。また、apc.shm_segmentsを少し増やして、それが役立つかどうかを確認することもできます。
tacotuesday

提案どおりにテストしました。ポイントは、5分未満でキャッシュ全体を埋めることです。「apc.shm_size」を512Mに増やし、わずかに改善されましたが、それでも「Cache full count」を超えています。extension = apc.so apc.shm_size = 512M apc.enabled = 1 apc.ttl = 600 apc.user_ttl = 600 apc.gc_ttl = 600 apc.max_file_size = 2M apc.shm_segments = 20
user142741
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.