Welcome! Log In Create A New Profile

Advanced

Re: Кеширование проблема: перестает кешировать

Maxim Dounin
August 19, 2013 06:54AM
Hello!

On Mon, Aug 19, 2013 at 12:44:41PM +0300, Gena Makhomed wrote:

> 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 секунд?

+1

Это штатный вариант, когда запросы к одному и тому же
ресурсу могут попасть на бекенд в больших количествах при
используемых настройках.

> в документации совсем не написано как себя в такой ситуации поведет
> nginx, возможно он тогда отпускает все клиентские запросы backend ?

Поведение документировано в описании proxy_cache_lock
(http://nginx.org/r/proxy_cache_lock):

: Other requests of the same cache element will either wait for a
: response to appear in the cache or the cache lock for this element
: to be released, up to the time set by the proxy_cache_lock_timeout
: directive.

После истечения времени, заданного директивой
proxy_cache_lock_timeout, запросы, очевидно, перестанут ожидать
cache lock'а.

--
Maxim Dounin
http://nginx.org/en/donation.html

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Кеширование проблема: перестает кешировать

Dmitry E. Oboukhov July 27, 2013 05:56PM

Re: Кеширование проблема: перестает кешировать

Dmitry E. Oboukhov July 27, 2013 07:12PM

Re: Кеширование проблема: перестает кешировать

Dmitry E. Oboukhov August 17, 2013 03:56PM

Re: Кеширование проблема: перестает кешировать

Dmitry E. Oboukhov August 18, 2013 03:44PM

Re: Кеширование проблема: перестает кешировать

Maxim Dounin August 18, 2013 05:12PM

Re: Кеширование проблема: перестает кешировать

Dmitry E. Oboukhov August 19, 2013 02:46AM

Re: Кеширование проблема: перестает кешировать

Gena Makhomed August 19, 2013 05:46AM

Re: Кеширование проблема: перестает кешировать

Maxim Dounin August 19, 2013 06:54AM

Re: Кеширование проблема: перестает кешировать

Dmitry E. Oboukhov August 19, 2013 07:38AM

Re: Кеширование проблема: перестает кешировать

Maxim Dounin August 19, 2013 09:12AM

Re: Кеширование проблема: перестает кешировать

Dmitry E. Oboukhov August 19, 2013 03:52PM

Re: Кеширование проблема: перестает кешировать

Maxim Dounin August 20, 2013 06:18AM

Re: Кеширование проблема: перестает кешировать

Dmitry E. Oboukhov August 19, 2013 07:32AM

Re: Кеширование проблема: перестает кешировать

Gena Makhomed August 19, 2013 02:28PM

Re: Кеширование проблема: перестает кешировать

Dmitry E. Oboukhov August 19, 2013 03:38PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 300
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready