feature request: sendfile management

Alex Vorona voron at amhost.net
Sat Oct 13 12:11:54 MSD 2007


Монашёв Михаил пишет:
> Здравствуйте, Игорь.
>
>   
>> А если поставить
>>     
>> sendfile_max_chunk 128k;
>>     
> А какой смысл этого параметра? В рассылке понятного ответа не нашёл.
>   
при упирании в диски смысл появляется.  Попробуйте покачать с nginx с 
localhost большой файл, чтобы он отдавался с диска, а не из кэша - 
остальные коннекты воркера пойдут курить в сторонку. И в линуксе и в бсд 
sendfile неблокирующийся только на сети. На диске он блокируется. Чтобы 
этого достичь, нужно тянуть с воркера по сети быстрее, чем sendfile 
читает с диска. Для ограничения времени блокировки и был введён этот 
параметр. По моим тестам на пустом бсд-сервере каждый вызов sendfile 
работал где-то секунды полторы при отдаче с диска на скорости 
80Мбайт/сек. На линуксе ещё хуже - можно вытянуть 4G файл за 3-5 вызовов 
sendfile.
> Размер чанка подбирать опытным путём или есть другие способы, например
> на основе среднего размера файла и т.п...
>
>   
если у nginx нет клиентов, которые могут качать с воркера быстрее, чем 
воркер забирает с диска - смысла не должно быть в применении этого 
параметра.





More information about the nginx-ru mailing list