ПРОЕКТЫ 


  АРХИВ 


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:
кстати попутно мелкая бага - при отдаче 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



 




Copyright © Lexa Software, 1996-2009.