ПРОЕКТЫ 


  АРХИВ 


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[3]: Память на буферы з аполучить



On Mon, 20 Feb 2006, Anton Maksimenkov wrote:

http {

     output_buffers  4 32k;
     postpone_output 1460;

Из треда понял, что эти буферы - общие для всех процессов. Сделал
4 512к. Отжирается также порядка 15 Мбайт.
Это буфера для одного соединения. Файл читается в 512k буфер за один read.

Внимание вопрос. Вот есть 4 буфера по 512к. Вот клиент запросил
страничку, там ну пускай 10 картинок по 100к. Как будут развиваться
события и использоваться буферы?
Предполагаю: 1-й файл читается в 1-ый буфер, ессно занимает не весь
буфер, но тем не менее, буфер отдается клиенту; 2-ой файл читается во
2-ой буфер (а не подпихивается в остаток 1-го), этот 2-й буфер
отдается клиенту. И т.д. будут использованы все 4 буфера и более менее
параллельно будут отдаваться клиенту(ам). Затем будет "ожидание
освобождения буферов", как только будет передан 1-ый, целиком, и
соответственно освобожден, в него будет считан 5-й файл и будет
отдаваться клиенту.
Может я конечно вру и всё не так. Не знаю как будет если файл больше
буфера, возможно он будет считываться в буферы соответствующими
кусками и отдаваться.

Короче, появилась мысль, а не поставить ли этих буферов тыщ 50 ?

Нет.

Это буфера для одного соединения. Файл читается в 512k буфер за один read.

Для одного клиента файл прочитается в 4 буфера по 512K.
Для второго клиента файл прочитается в 4 буфера по 512K.
Для третьего клиента ...
Для четвёртго клиента ...
Для пятого клиента ...
И так далее, пока не кончатся клиенты или память.


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



 




Copyright © Lexa Software, 1996-2009.