Влияние кэша кода операции на использование памяти

Может кто-нибудь сказать мне, что накладные расходы использования памяти, связанные с кэшем кода операции PHP?

Я видел много обзоров opcode cache но все они концентрируются только на повышении производительности. У меня VPS небольшого начального уровня и ограничения памяти меня беспокоят.

3 ответа

Решение

Большая часть памяти будет зависеть от размера кэша кода операции. У каждого кэша кода операции есть свой собственный стандарт (например, 30 МБ для APC), который вы можете изменить через файл конфигурации.

За исключением размера кеша, фактические накладные расходы самой кеш-системы незначительны.

Вы можете установить limit на потребление памяти для APC, но это потенциально ограничивает его эффективность.

Если вы просто используете его для тихого кэширования кода операции, то все должно быть в порядке. Как только выделение памяти заполнено, новые файлы не будут кэшироваться, но все будет работать как положено. Тем не менее, функции кэша пользовательского пространства, такие как apc_store() а также apc_fetch() молча и необъяснимо потерпит неудачу, если не будет свободной памяти.

Это может быть сложно поймать и отладить, так как не сообщается об ошибке и не выдается исключение.

В современном мире: это ничтожно. Я думаю, что с eAccelerator потребление памяти было примерно на 50 МБ больше, чем когда я делал свои тесты.

Если вам действительно нужна скорость, но у вас есть головная боль, что вашей оперативной памяти может не хватить: возьмите 40 долларов и купите еще один ГИГ ОЗУ для вашего сервера;)

Другие вопросы по тегам