ВОПРОС
У меня есть сайт на WordPress и здесь появились некоторые трудности. Говоря конкретно, быстро заполняется кэш APC. Каждый раз, когда я создаю или редактирую новый пост, память APC USED сбрасывается, что в свою очередь, инициирует массу других ошибок.
Думаю, что сначала лучше рассказать, что пробовал делать я. В первую очередь, я выделил больше памяти. Хоть это и сработало, все равно иногда возникают сбои. Также у меня есть задание Cron, которое каждые 4 часа перезапускает Apache, очищает использованную память и удаляет использованные фрагменты APC. Но опять – если акселератор работает слишком долго, то Apache просто вылетает. Думаю, это из-за слишком большого количества фрагментов.
Вообще у меня есть одна идея. Я думаю, что можно отфильтровать все, что не должно кэшироваться. Но пока это только мои мысли. Я новичок в разработке и пока не очень понимаю, что еще можно сделать. Надеюсь, у вас будет решение для моей проблемы.
ОТВЕТ
Разобраться с накоплением фрагментов вполне можно через APC.ttl. Обычно я устанавливаю для него значение на 7200. Ниже ты можешь посмотреть на те настройки, которые установлены у меня. Возможно, данное решение тебе поможет.
apc.enabled=1
apc.shm_segments=3
apc.shm_size=32
apc.ttl=7200
apc.user_ttl=7200
apc.num_files_hint=2048
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.enable_cli=1
apc.max_file_size=10M
Гораздо больше преимуществ ты получишь, если будешь работать со встроенным объектным кэшем WordPress. Также есть расширения, которые помогут в твоей ситуации.