Re: proxy_cache, особенности
Alex Mizrahi
alex.mizrahi at gmail.com
Sat May 16 01:07:53 MSD 2009
SS> Кеширование делается для разгрузки бекендов, чтоб не дергать их ЛИШНИЙ
SS> раз. Но если бекенд погибает под нагрузкой без кеша - значит таки да,
SS> надо улучшать бекенд. Например ставить второй.
в данном случае их понадобится не один десяток :)
тут просто ситуация такая, что нагрузка в теории может быть очень высокой,
типа слешдота, и желательно чтобы поведение мало зависело от скорости
бэкенда.
SS> Или ставить запросы в очередь.
вариант далеко не идеальный, хотя я об этом думал.
SS> Возможны разной степени извращенности схемы ограничения конектов между
SS> nginx и бекендом. Самые простые: поставить между ними haproxy и
SS> настроить/пропатчить бекенд.
а вот я нашёл практически идеальную схему -- использовать
для кэширования varnish, у него есть т.н. grace -- пока бэкенд отвечает на
запрос,
на паралельные запросы varnish будет отдавать expired object. в принципе,
это как раз
то что мне надо -- на бэкенд будет идти не более одного запроса за раз, а
max-age можно ставит как угодно низким.
в принципе это похоже на то что делает proxy_cache_use_stale в nginx, но
условием
кроме смерти бэкенда может быть и запрос выполняемый в другом потоке.
More information about the nginx-ru
mailing list