ПРОЕКТЫ 


  АРХИВ 


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



On Tue, Apr 24, 2007 at 12:43:35AM +0300, Александр Ворона wrote:

> Igor Sysoev пишет:
> >On Fri, Apr 13, 2007 at 12:10:17PM +0300, Александр Ворона wrote:
> >>кстати попутно мелкая бага - при отдаче 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
> >
> >А если в ngx_linux_sendfile_chain.c сделать
> >
> >-#define NGX_SENDFILE_LIMIT  2147483647L
> >+#define NGX_SENDFILE_LIMIT  2147479551L
> >
> >?
> попробовал одновременно с патчем для amd64 и файлов >4G
> чистое ядро 64bit, закачка файла 4G на 1G линке
> 
> Долго ловил длинный sendfile
> 
> 21:32:56 epoll_wait(13, {{EPOLLOUT, {u32=3699351873, 
> u64=60640047636801}}}, 512, 599989) = 1
> 21:32:56 sendfile(11, 14, [69945958], 2147476890) = 2147476890
> 21:33:28 epoll_wait(13,
> 
> замерло имхо потому, что sendfile передал ровно столько сколько 
> запросили и не пришло события epoll'у
> 
> wget -Y off -O /dev/null http://192.168.78.2:81/3.tmp
> --00:32:07--  http://192.168.78.2:81/3.tmp
>            => `/dev/null'
> Устанавливается соединение с 192.168.78.2:81... соединение установлено.
> Запрос HTTP послан, ожидается ответ... 200 OK
> Длина: 4 294 967 296 (4.0G) [application/octet-stream]
> 
> 51% [========================================> 
>               ] 2 217 422 848   --.--K/s    ETA 08:39

То есть, замирания c 2^31-4K-1 происходят реже, чем c 2^31-1 ?


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.