ПРОЕКТЫ 


  АРХИВ 


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



Igor Sysoev пишет:
On Fri, Apr 13, 2007 at 12:10:17PM +0300, Александр Ворона wrote:

Igor Sysoev пишет:

С неблокирующимся sendfile ситуация непонятна. Я впервые увидел, как
Линукс за один неблокирующийся вызов передал 900M.
вызов должен был быть неблокирующимся - но он таким не был. nginx в это время естественно ничего кроме этого sendfile() не мог делать.. Может стОит попробовать отдавать sendfile()'ом не до конца файла, а ровно столько, сколько влезет в буфер сокета, который перед каждым sendfile() и определять?

кстати попутно мелкая бага - при отдаче nginx'ом 0.5.17 файлов >2G (linux 2.6.20 и i386 sendfile64() и x86_64 sendfile() ) если за один sendfile[64](...,count) с (2^31-1) > count > (2^31-page_size) уходит количество байт 2^31-page_size, то закачка замирает
strace

На мой взгляд, это проблемы разработчиков ядра. Раньше sendfile
прекрасно работал в неблокирующемся режиме. Если они это поломали,
то им и чинить.
да похоже все на это забили и ждут нормальной реализации aio :(
Это вообще стандартное ядро ?
да
Удивительно, что про это ещё не знают пользователи lighttpd и прочая.
специально проверил lighttpd на linux-sendfile - точно также принимает коннекты, но ничего не отдаёт, пока отдаёт одному sendfile()'ом. Шлёт кусками по ~1G, поэтому вышеописанной баги с затыком при отсылке ~2G отдним sendfile()'ом не увидел



 




Copyright © Lexa Software, 1996-2009.