Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
proxy_cache, особенности
- To: <nginx-ru@xxxxxxxxx>
- Subject: proxy_cache, особенности
- From: "Alex Mizrahi" <alex.mizrahi@xxxxxxxxx>
- Date: Fri, 15 May 2009 19:15:57 +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:subject :date:mime-version:content-type:content-transfer-encoding:x-priority :x-msmail-priority:x-mailer:x-mimeole:fl-build; bh=sG7XP53Xrp0kVC6Dw0cuokU+kpaOdNVBD+uzfoTKsdw=; b=XCXJ32dapMP2WUonFvdz8PUxtx9T91x4awF4AbqekeXo7H7sIHGlLZXtCNef+DL9/s dUeBeHpHXsVjb5YpT5g1AZPkyW/tXmxF0nDoKmzMmBgr799MgCWV952CfBRnbPJZtdYS lS0xry3jB+qIr3bOG9zyANRoICcAkZt/btlho=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:subject:date:mime-version:content-type :content-transfer-encoding:x-priority:x-msmail-priority:x-mailer :x-mimeole:fl-build; b=IOKNdt05SjuV12nLJ7lnu/Ts1TG1R5f8ei50w/E5oexqPRtqJ6kTjG3VlrR5pdWWqp gXR/YPVtpY7ZTe/bfoEjLxfzqOdvCJkCuN4O3C26Bog6xVPBT1U6k4Bpjo2r0Tu8LSaS QNinvkdzUK3GNsMYJqs807PCap2ISpQozW9+A=
- Fl-build: Fidolook 2006 Xmas Edition (HL) 6.0.2800.95 - 24/12/2006 14:46:33
hi
возникло желании кэшировать некоторые ответы бэкенда, т.к. бэкенд
на некоторые запросы отвечает долго и не поддерживает большого
кол-ва одновременных соединений. насколько я понимаю, это можно
сделать посредством proxy_cache, но хотелось бы уточнить некоторые
особенности..
1. если приходят несколько запросов на один и тот же url, оно отправит
их всех на backend или дождётся пока получит один ответ?
более подробно, что я имею в виду, ситуация такая: некоторые запросы
нужно кэшировать на очень небольшое время, ну положим, 10 секунд, т.к.
информация в них постоянно обновляется, и в то же время на них может быть
большой "спрос", положим 50 запросов в секунду и backend вычисляет
ответ довольно долго, положим, 1 секунду. (понятное дело, если отправить
все запросы на backend, он загнётся, ну, для этого мы и кэшируем.)
значит каждые 10 секунд или вроде того объект устаревает и запрос идёт
на backend.
вопрос: в течении той секунды что вычисляется ответ на запрос,
пошлёт ли nginx остальные 49 запросов на backend, или будет ждать пока
не прийдёт ответ на первый запрос и отошлёт всем 49 что накопилось за
это время кэшированный ответ?
(понятное дело, что бороться с этой проблемой можно улучшая backend,
но определённо эту проблему проще решить спомощью proxy.)
2. вообще по поводу быстро-устаревающих объектов, есть ли какие-то
ограничения или особенности? я так думаю чтобы винт зря записью не
напрягать, лучше кэш разместить где-нибудь в районе /tmp..
with best regards, Alex 'killerstorm' Mizrahi.
|