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
|