ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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.



 




Copyright © Lexa Software, 1996-2009.