這是afrequentlyaskedquestion,我知道。但我嘗試了所有建議(apc.stat = 0,增加共享內存等),沒有任何好處。APC緩存碎片化(無止境的困境)
這裏是與統計屏幕(你可以看到nginx的和PHP5-FPM)和參數設置apc.ini:
APC用於在多個網站上的系統和用戶高速緩存器條目(8-9個WordPress站點和一個MediaWiki和SMF)。
你會建議什麼?
這是afrequentlyaskedquestion,我知道。但我嘗試了所有建議(apc.stat = 0,增加共享內存等),沒有任何好處。APC緩存碎片化(無止境的困境)
這裏是與統計屏幕(你可以看到nginx的和PHP5-FPM)和參數設置apc.ini:
APC用於在多個網站上的系統和用戶高速緩存器條目(8-9個WordPress站點和一個MediaWiki和SMF)。
你會建議什麼?
每個WordPress站點都會緩存一個健康的用戶緩存。我已經深入瞭解了這一點,並發現最好的「猜測」是,如果您在APC中使用用戶緩存,請將碎片保持在10%以下。這有時意味着您需要嘗試保留10倍以上的實際用於緩存的內存量,以避免碎片化。開始你的位置,並保持增加的內存分配,直到片段運行一段時間後保持低於10%。
BTW:正在緩存的wordpress頁面非常龐大,所以你可能需要大量的內存來避免碎片。
爲什麼10%碎片?這是一種黑色藝術,但我注意到這是性能開始出現明顯下降的地方。但是我沒有找到任何好的基準(或者運行我自己的受控測試)。
這10倍的數量讓我看起來很瘋狂,但根本原因是除了重新啓動(完全轉儲緩存)之外,APC無法進行碎片整理。當您只打算使用100-200米時,擁有1G內存的平板可以提供很多空間來填充,而無需查找「孔」來放置內容。用Windows 98考慮壞的舊FAT16或FAT32磁盤性能 - 當磁盤滿載超過50%時,不斷需要手動碎片整理。
如果您無法承擔額外的內存空間,您可能需要查看用戶緩存的memcached緩存或普通舊文件緩存。
感謝您的詳細回覆! :) 我想我會嘗試增加一些內存(也許從實際的512MB VPS切換到1GB的一個),並過濾一些我不在乎的網站... apc.filters =「 -/var/www/website1 /.*,-/var/www/website2/.*「 – MultiformeIngegno
似乎工作。 4天后,碎片率爲0.28%:) – MultiformeIngegno