ПРОЕКТЫ 


  АРХИВ 


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 04:18:21PM +0300, Александр Ворона wrote:

> Igor Sysoev пишет:
> >Он в nginx'е и так неблокируемый: http://sysoev.ru/2006.html#08.01.2006
> >
> >
> 
> uname -srm
> Linux 2.6.18.3-grsec x86_64
> 
> 
> strace скачки фильма 1.4G

Не обратил внимание на последующие вызовы, а они удивительные:

> epoll_wait(11, {{EPOLLIN, {u32=616484880, u64=48104250200080}}}, 512, 
> 4294967295) = 1
> accept(8, {sa_family=AF_INET, sin_port=htons(46864), 
> sin_addr=inet_addr("192.168.78.1")}, [5034732501717745680]) = 9
> ioctl(9, FIONBIO, [1])                  = 0

nginx включил неблокирующийся режим.

> epoll_ctl(11, EPOLL_CTL_ADD, 9, {EPOLLIN|EPOLLET, {u32=616485184, 
> u64=48104250200384}}) = 0
> epoll_wait(11, {{EPOLLIN, {u32=616485184, u64=48104250200384}}}, 512, 
> 600000) = 1
> recvfrom(9, "GET /1.tmp HTTP/1.0\r\nUser-Agent:"..., 1024, 0, NULL, 
> NULL) = 144
> open("/var/www/cacti/htdocs/1.tmp", O_RDONLY) = 12
> fstat(12, {st_mode=S_IFREG|0744, st_size=1482813440, ...}) = 0
> setsockopt(9, SOL_TCP, TCP_CORK, [1], 4) = 0
> writev(9, [{"HTTP/1.1 200 OK\r\nServer: nginx/0"..., 262}], 1) = 262
> sendfile(9, 12, [0], 1482813440)        = 20582
> epoll_ctl(11, EPOLL_CTL_MOD, 9, {EPOLLIN|EPOLLOUT|EPOLLET, 
> {u32=616485184, u64=48104250200384}}) = 0
> epoll_wait(11, {{EPOLLOUT, {u32=616485184, u64=48104250200384}}}, 512, 
> 600000) = 1
> sendfile(9, 12, [20582], 1482792858)    = 76428
> epoll_wait(11, {{EPOLLOUT, {u32=616485184, u64=48104250200384}}}, 512, 
> 599944) = 1
> sendfile(9, 12, [97010], 1482716430)    = 111168
> epoll_wait(11, {{EPOLLOUT, {u32=616485184, u64=48104250200384}}}, 512, 
> 599943) = 1
> sendfile(9, 12, [208178], 1482605262)   = 4002048

4M,

> epoll_wait(11, {{EPOLLOUT, {u32=616485184, u64=48104250200384}}}, 512, 
> 599940) = 1
> sendfile(9, 12, [4210226], 1478603214)  = 903636036

900M

> epoll_wait(11, {{EPOLLOUT, {u32=616485184, u64=48104250200384}}}, 512, 
> 599853) = 1
> sendfile(9, 12, [907846262], 574967178) = 574967178

и 574M за один вызов - это круто. Нужно лечить Линкус.

> write(6, "192.168.78.1 - voron [23/Feb/200"..., 114) = 114
> close(12)                               = 0
> setsockopt(9, SOL_TCP, TCP_CORK, [0], 4) = 0
> recvfrom(9, 0x583950, 1024, 0, 0, 0)    = -1 EAGAIN (Resource 
> temporarily unavailable)
> epoll_wait(11, {{EPOLLIN|EPOLLOUT, {u32=616485184, 
> u64=48104250200384}}}, 512, 75000) = 1
> recvfrom(9, "", 1024, 0, NULL, NULL)    = 0
> close(9)                                = 0
> epoll_wait(11,


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



 




Copyright © Lexa Software, 1996-2009.