APC показывает 100% фрагментацию. Это плохо?
Означает ли это, что это вообще не помогает? Какие пути я могу улучшить, чтобы улучшить ситуацию?
Заранее спасибо.
По моему опыту, да. У меня была система, в которой APC показывала 100% фрагментацию, а производительность была плохой. Я увеличил лимит памяти APC (до 200 МБ в моем случае – но у нас было много кода) достаточно, чтобы дать ему небольшую комнату. Фрагментация упала до нуля, а IIRC, загрузка процессора на сервере снизилась на 50%.
Кроме того, убедитесь, что вы используете скрипт apc.php, который поставляется с APC для мониторинга фрагментации / использования. Мы даже написали проверку nagios, чтобы посмотреть APC, потому что у нас достаточно трафика, который Apache полностью блокирует, когда APC заполняется.
Мораль истории: дать APC достаточно памяти и контролировать использование.
Фрагментация означает, что apc часто выбрасывает элементы из своего кеша и добавляет новые и не может найти достаточно большие непрерывные блоки.
Существует два основных способа повышения производительности:
Кроме того, использование apc_store () с коротким временем, чтобы жить плохо, а также переписывание с помощью apc_store () часто.
[…] Фрагментация – это то, что вредит производительности, а не размер памяти как таковой. Но также кажется, что фрагментация происходит, когда память низкая […]
Заметим также, что, как представляется, ошибка с графиком apc.php: http://pecl.php.net/bugs/bug.php?id=13146