ПРОЕКТЫ 


  АРХИВ 


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]

Re: Способ кэширования



On Sat, 18 Dec 2004, Andrew Velikoredchanin wrote:

> Мне нужно получить следующее.
>
> 1. Юзер обращается к фронтэнду, что-бы получить информацию.
> 2. Фронтэнд запрашивает ее у бэкенда.
> 3. На бэкенде запускается некоторый скрипт в одном из потоков апача.
> 4. Скрипт быстро отрабатывает и быстро отдает данные фронтэнду.
> 5. Фронтэнд быстро забирает эти данные, закрывает соединение с бэкендом
> и начинает медленно их передавать клиенту.
> 6. В это время поток апача который обрабатывал этот запрос уже
> становиться свободным для других запросов.
>
> Это сделать реально? Что для этого требуется? Я так понимаю, что кэшь на
> фронтэнде должен быть такой что-бы в него целиком помещался ответ с
> бэкенда? В nginx для такой работы какой размер нужно сделать
> соответствующим - размер одного буфера в проксе или общий размер всех
> буферов?

Именно так nginx и работает.
Первая часть ответа бэкенда принимается в буфер размером
proxy_header_buffer_size. Затем ответ принимается в буфера, заданные в
proxy_buffers. Эти буфера выделяются по мере необходимости, то есть,

proxy_buffers  256 32k;

означает, что при чтении ответа может быть использовано до 256 буферов
размером по 32К. Но если ответ меньше, то и выделено будет меньше.
По получении ответа он отдаётся клиенту частями не более
proxy_busy_buffers_size. Если же все буфера заняты, а клиент не принимает
ответ, то ответ пишется во временный файл.


Игорь Сысоев
http://sysoev.ru




 




Copyright © Lexa Software, 1996-2009.