Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: proxy_cache, особенности
- To: <nginx-ru@xxxxxxxxx>
- Subject: Re: proxy_cache, особенности
- From: "Alex Mizrahi" <alex.mizrahi@xxxxxxxxx>
- Date: Sat, 16 May 2009 00:07:53 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to:references :subject:date:mime-version:content-type:content-transfer-encoding :x-priority:x-msmail-priority:x-mailer:x-mimeole:fl-build; bh=sMER2g/uKzTV872CBGJipxQYguMAuB16V/7bO3Z1jyo=; b=o50vjrndadKTxmVxcQBG7ctlcaoi7hIEuIENfV4ROUVaGfbtIfzIghX94k+ffty3PA smWY0RRJaLLX2wC0v6/YVx7ftpibGWc84alkI0Lc2Ys2LdXJccybeNAkP1HIWq/9yQqW 8euc49jZkoidywZoz9dQ1uz1FA8GWhUIPIR7w=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:references:subject:date:mime-version :content-type:content-transfer-encoding:x-priority:x-msmail-priority :x-mailer:x-mimeole:fl-build; b=bUFVTpBG7Bn2yekIsz0gfVJ91kCo2AeitOs+mES1KAHoAkqEPQdnzh1Nwd+qkryfu+ t6UCSDCaONhnj7QO58LKoYN0GqduR/hf3aOMMAcf24Fr9kmwUoZ7cfxGY+HgxcCWNkat hcN9gqSoCOaR9obkN0qPLkcDnaNDRA1UavAIs=
- Fl-build: Fidolook 2006 Xmas Edition (HL) 6.0.2800.95 - 24/12/2006 14:46:33
- References: <0CFA8830707F4C019A9E0084797E23DF@killer> <2d8fb9950905150954g32c14f0fj3ba72446948900ba@xxxxxxxxxxxxxx>
SS> Кеширование делается для разгрузки бекендов, чтоб не дергать их ЛИШНИЙ
SS> раз. Но если бекенд погибает под нагрузкой без кеша - значит таки да,
SS> надо улучшать бекенд. Например ставить второй.
в данном случае их понадобится не один десяток :)
тут просто ситуация такая, что нагрузка в теории может быть очень высокой,
типа слешдота, и желательно чтобы поведение мало зависело от скорости
бэкенда.
SS> Или ставить запросы в очередь.
вариант далеко не идеальный, хотя я об этом думал.
SS> Возможны разной степени извращенности схемы ограничения конектов между
SS> nginx и бекендом. Самые простые: поставить между ними haproxy и
SS> настроить/пропатчить бекенд.
а вот я нашёл практически идеальную схему -- использовать
для кэширования varnish, у него есть т.н. grace -- пока бэкенд отвечает на
запрос,
на паралельные запросы varnish будет отдавать expired object. в принципе,
это как раз
то что мне надо -- на бэкенд будет идти не более одного запроса за раз, а
max-age можно ставит как угодно низким.
в принципе это похоже на то что делает proxy_cache_use_stale в nginx, но
условием
кроме смерти бэкенда может быть и запрос выполняемый в другом потоке.
|