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