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

Александр Ворона voron at amhost.net
Tue Apr 24 01:43:35 MSD 2007


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





More information about the nginx-ru mailing list