ПРОЕКТЫ 


  АРХИВ 


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: Долгий коннект к с ерверу



On Fri, Feb 23, 2007 at 05:34:36PM +0300, Александр Ворона wrote:

> Igor Sysoev пишет:
>  > и 574M за один вызов - это круто. Нужно лечить Линкус.
> видимо да :(
> Может тогда сделать опцию/переменную для задания макс. размера 
> sendfile() для больных? Естественно per-location :)

limit_rate  1M;

больше 1M за раз не будет передаваться. Хотя я думаю, описанный случай -
это локальный ethernet c огромными окнами.

> на бсд(6.1-RELEASE i386) много вызовов, и ни один из них на sendfile по 
> названию не похож :)
> recvfrom(11, "GET /1.tar.gz HTTP/1.0\r\n"..., 1024, 0, NULL, NULL) = 121
> open("/home/admin/1.tar.gz", O_RDONLY) = 14
> fstat(14, {st_mode=070160, st_size=6998629143282321979, ...}) = 0
> setsockopt(11, IPPROTO_TCP, 0x4 /* TCP_??? */, [1702389024], 4) = 0
> syscall_393(0xe, 0xb, 0, 0, 0x74e54d67, 0xbfbfe4a0, 0xbfbfe098, 0) = -1
> (errno 35)
> kevent(0xd, 0x80a3000, 0x1, 0x80b9000, 0x200, 0xbfbfea50) = 1
> gettimeofday({1819042848, 538970683}, NULL) = 0
> syscall_393(0xe, 0xb, 0x8000, 0, 0x74e4cd67, 0xbfbfe610, 0xbfbfe208, 0)
> = -1 (errno 35)
> kevent(0xd, 0x80a3000, 0, 0x80b9000, 0x200, 0xbfbfea50) = 1
> gettimeofday({1885413408, 1667853424}, NULL) = 0
> syscall_393(0xe, 0xb, 0x9000, 0, 0x74e4bd67, 0xbfbfe610, 0xbfbfe208, 0)
> = -1 (errno 35)

Это нужно лечить программу, потому как и kdump, и truss вместо
syscall_393 показывает sendfile.


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



 




Copyright © Lexa Software, 1996-2009.