ПРОЕКТЫ 


  АРХИВ 


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: Архитектура Nginx



2009/3/15 Daniel Podolsky <onokonem@xxxxxxxxx>:
>
>> А почему так сделано не подскажите?
>>
>
> Так сделано для того, чтобы много-много одновременных соединений, по которым
> медленно-медленно уходят к клиентам байты, кушали мало-мало оперативной
> памяти и процессора.
>
> Байты эти можно забрать с диска - это будет статика. А можно забрать с
> backend-а, это будет динамика. Выигрыш на динамике достигается за счет того,
> что отдача с backend-а на nginx происходит быстро, и тяжелый процесс не
> должен висеть в памяти, пока клиент забирает результаты его работы.
>
> только это азбука, и написано об этом на сайте sysoev.ru вполне внятно.
>
>

Извините но я не это спрашивал.

Почему именно файловый I/O блокируется? В современных ОС вполне можно
сделать его не блокирующим, и отпускать воркер на то время пока ОС не
заполнит буфер и не просигнализирует об этом. В чем в данной ситуации
концептуальное различие между сетевым I/O?

Так же интересно, если рассматривать асинхронный же бекэнд, то имеет
ли он вообще смысл, если воркер может заблокироваться при обработке
запроса? Конечно не рассматривая ситуация когда воркеров несколько и
они все грузят бекэнд.

Спасибо.
---
Александр Кошелев


 




Copyright © Lexa Software, 1996-2009.