Несколько непонятностей по nginx
Александр Ворона
voron at amhost.net
Wed Apr 11 10:21:29 MSD 2007
proforg пишет:
>> Сорри за небольшой оффтоп, ради интереса спрашиваю. Процесс
>> проксирования апачу (грубо): приходит запрос nginx-у, worker форкается,
>> открывает апачевый сокет, пишет туда запрос, потом читает оттуда ответ
>> и отсылает его запрашиваемому (ч-з свой сокет)?
> По сути да, за тем исключением что не форкается, используется
> асинхронный i/o.
немного поправлю - не асинхронный i/o, а мультиплексирование.
http://www.lexa.ru/nginx-ru/msg03999.html
учитывая что на бсд sendfile'у можно сказать быть неблокируемым, а для
линукса я пытаюсь пропатчить ядро для этого, то ничего плохого в
отсутсвии AIO нет. Смотрел на реализацию linux-aio-sendfile у lighttpd
- файл мапится в shared memory и оттуда sendfile()ится. В результате ни
о каком zero copy речи нет. Как плюс - можно отдавать один и тот же
кусок нескольким клиентам; не возникает блокирующихся на диске sendfile
тк нужный кусок уже в памяти. Из минусов - raw perfomanse ниже. wget на
гигабитном линке показал ~47МБайт у lighttpd с linux-aio-sendfile и
~63мбайт у nginx sendfile при отдаче фильмов с диска.
More information about the nginx-ru
mailing list