Re: Кеширование проблема: перестает кешировать
Gena Makhomed
gmm at csdoc.com
Mon Aug 19 09:44:41 UTC 2013
On 19.08.2013 9:44, Dmitry E. Oboukhov wrote:
> кешменеджер запустился, НИ ОДНОЙ ошибки в логах nginx нет. все хорошо.
> потом... бац! на хосте нагрузка ~15-20.
> смотрим в чем дело - апач все поел.
> смотрим на чем - на закешированных запросах: GET /cached/бла/1234
>
> рестартуем nginx - нагрузка падает. потом в самый наплыв пользователей
> опять... бац: кеш прорвало.
>
> благо что с нагрузкой на хосте 15-20 апач справляется и без кеша.
> сайт тупит конечно, но работает.
>
> а когда кеш живой, то нагрузка 0.8-1.
>
> сейчас поставил nginx-лайт 1.4 (Debian/wheezy).. вчерашний пик
> пользователей пережили вроде без прорыва кеша.
> но правда и 1.2.1 его прорывал тоже не каждый раз.
>
> и самое интересное что когда прорывает кеш в логе ну ни записи.
> просто пришла 1000 запросов. и апач бы должен был выполнить один, а
> ему достается 600 из этой тысячи.
кроме
proxy_cache_lock on;
proxy_cache_use_stale updating;
есть еще директива proxy_cache_lock_timeout и по умолчанию там:
proxy_cache_lock_timeout 5s;
не может быть такой ситуации, что когда "самый наплыв пользователей"
backend не успевает ответить за 5 секунд?
в документации совсем не написано как себя в такой ситуации поведет
nginx, возможно он тогда отпускает все клиентские запросы backend ?
P.S.
если взять nginx с сайта http://nginx.org/en/download.html
- этот глюк воспроизводится? если нет - проблема очевидно где.
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru