LINUX.ORG.RU

Кеш APC часто сбрасывается

 , , ,


0

1

Есть VDS, есть ПХП (5.4) работающий как FastCGI (mod-fcgid) в компании с Апачем.
И все бы хорошо, но когда я устанавливаю кешер типа Xcache или APC то наблюдаю, что кеш там сбрасывается примерно каждые два часа вопреки настройкам.
Сначала я подумал, что это Апач ребутается, но он так часто не ребутается, судя по логам.
Потом я нашел лог suexec.log и в нем множество строк:
uid: (500/user) gid: (502/user) cmd: php
И такие строки появляются во первых в момент ребута апача, во вторых без всякого ребута апача и вообще без видимой причины - бывает, что раз в два часа, а бывает, что раз в 15 минут... (И точнехонько во время, обозначенное у этих строк, Хcache например, сбрасывает весь кеш)
Как сообщил мне более опытный товарищ, это происходит из-за того, что FastCGI время от времени убивает процессы. И что так и должно быть.
Есть вопрос: можно ли как-то так настроить кэширование, чтоб кэш не сбрасывался так часто, не отказываясь от FastCGI?? Если да, то как? Если нет, то как с минимальными телодвижениями (с минимальными изменениями в ПО сервера) нормализовать таки процесс кеширования (при этом нужно сохранить Апач и при этом режим «ПХП как модуль Апача» тоже не рассматривается)?
Может быть поможет переход на php5.5 у которого уже встроен Зенд Опкешер? Или что-то иное?



Последнее исправление: cetjs2 (всего исправлений: 3)

Кеш же внутри процесса, как он может не сброситься, если процесс убивают? Может вам нужно поставить побольше PHP_FCGI_MAX_REQUESTS.

А вобще 2 часа в кеше это вроде не плохо. Что у вас там такое, что нужно длительное кеширование?

mky ★★★★★
()
Ответ на: комментарий от mky

Да просто обидно как-то, что сайты работают не все время так быстро, как могли бы :) Хотя всего-то вордпрессы да Джумлы на серваке. Особенно для Джумлы кэш очень и очень помогает, раза в два ускоряет. А Вордпресс с собственным модулем кеширования и так страницы за 0,07 секунд отдает...
С PHP_FCGI_MAX_REQUESTS доигрался так, что мускуль пару раз повесился... Больше так не буду :)
Ищу теперь более координальные пути решения...

racter
() автор топика
Ответ на: комментарий от racter

Я бы посмотрел на объем кеша и его использование. Может он сбрасывается при заполнении...

Кеш у APC/xcache в shm, так что смерть процесса не должна его убивать.

vel ★★★★★
()
Последнее исправление: vel (всего исправлений: 1)
Ответ на: комментарий от vel

С объемом все ок, ставил разные значения. В APC 128 метров забивается под 90%, в Xcache только на 50%, но поведение их одинаковое... Пробовал ставить 256 метров - тот же эффект. Оперативы у меня всего 512.
Как только в suexec.log появляется строка:
uid: (500/user) gid: (502/user) cmd: php
кэш сбрасывается...
зы
Я читал еще и такое мнение, что мол ФастСиджиаем убивается только дочерний процесс, так что кэш не должен очищаться... но он очищается...

racter
() автор топика
Ответ на: комментарий от racter

А нафига тут suexec ? Это же cgi который нельзя ускорить!

Нет возможности перейти на php-fpm или на худой конец php-cgi ?

Я бы сделал 2 php.ini

Один для suexec/php вообще без APC/xcache, а второй с акселератором для fastcgi/fpm

vel ★★★★★
()
Ответ на: комментарий от vel

спасибо за подсказки :)
Самым простым оказалось перейти на apache2-mpm-itk-2.2.22-13 и выкинуть мысли о fastcgi.
С этой задачей справился даже ispmanager, руками почти ничего не пришлось править :)

racter
() автор топика
Ответ на: комментарий от vel

Уже проверил :) По крайней мере для моих целей (хостить Вордпрессы с Джумлами) оказалось не хуже, чем было. А памяти жрет даже чуть поменьше. ps А php-fpm - я хотел его заюзать, но к чему огород городить, если и так все работает :)

racter
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.