Влияние кэша кода операции на использование памяти
Может кто-нибудь сказать мне, что накладные расходы использования памяти, связанные с кэшем кода операции PHP?
Я видел много обзоров opcode cache
но все они концентрируются только на повышении производительности. У меня VPS небольшого начального уровня и ограничения памяти меня беспокоят.
3 ответа
Большая часть памяти будет зависеть от размера кэша кода операции. У каждого кэша кода операции есть свой собственный стандарт (например, 30 МБ для APC), который вы можете изменить через файл конфигурации.
За исключением размера кеша, фактические накладные расходы самой кеш-системы незначительны.
Вы можете установить limit
на потребление памяти для APC
, но это потенциально ограничивает его эффективность.
Если вы просто используете его для тихого кэширования кода операции, то все должно быть в порядке. Как только выделение памяти заполнено, новые файлы не будут кэшироваться, но все будет работать как положено. Тем не менее, функции кэша пользовательского пространства, такие как apc_store()
а также apc_fetch()
молча и необъяснимо потерпит неудачу, если не будет свободной памяти.
Это может быть сложно поймать и отладить, так как не сообщается об ошибке и не выдается исключение.
В современном мире: это ничтожно. Я думаю, что с eAccelerator потребление памяти было примерно на 50 МБ больше, чем когда я делал свои тесты.
Если вам действительно нужна скорость, но у вас есть головная боль, что вашей оперативной памяти может не хватить: возьмите 40 долларов и купите еще один ГИГ ОЗУ для вашего сервера;)