Несколько непонятностей по nginx

Александр Ворона voron at amhost.net
Fri Apr 13 15:50:13 MSD 2007


Igor Sysoev пишет:
> А как же быть с всеми инсталляциями lighttpd, thttpd и прочая ?
а много их на отдаче огромных файлов по таким линкам, что диск медленней 
чем сеть? Проблема имеет место только при упирании в диск раньше, чем в 
сеть - при упирании в сеть sendfile()'ов на 900М в неблокирующийся сокет 
быть не должно(и я их не наблюдаю).
> Ну что ж, будем ждать новостей в lkml. 
что-то мне подсказывает, что не скоро дождёмся
>А в каких ядрах это наблюдается ?
2.6.18 2.6.20 это те, на которых я проверял
> У меня есть одно подозрение, может, это сломали не sendfile, а
> ioctl(FIONBIO).
в ядре в  sendfile(),
if(out_file->f_flags & O_NONBLOCK) {
	//код тут отрабатывает
}
т.е. NONBLOCK на сокет выставляется.
Если бы нонблок не выставлялся - sendfile() всегда бы слал весь файл(или 
максимальный размер, допустимый для sendfile()) за один вызов при 
текущей реализации дергания sendfile() в nginx.






More information about the nginx-ru mailing list