Welcome! Log In Create A New Profile

Advanced

TCP_CORK option is never turned off

Yury Kirpichev
May 07, 2013 06:50AM
Hi,

I've got an issue when trying to use SPDY over HTTP for nginx.

I'm using nginx 1.4.0.

The issue is that there is 200ms delay between request is sent to server
and response with data is received.


After analysing this issue a little bit, it turned out that TCP_CORK option
is set before sendfile is called and never reset afterwards.

9910 0.000165 writev(3,
[{"\200\2\0\4\1\0\0\f\0\0\0\1\4\0\0\1\0\0\0d", 20},
{"\200\2\0\2\0\0\0\370\0\0\0\1\0\00080\337\242Q\262\0\342\0\35\377\0\t\0\7ver"...,
256}], 2) = 276
9910 0.000121 setsockopt(3, SOL_TCP, TCP_CORK, [1], 4) = 0
9910 0.000040 writev(3, [{"\0\0\0\1\1\0\0L", 8}], 1) = 8
9910 0.000052 sendfile(3, 14, [0], 76) = 76
9910 0.000054 write(5, "84.201.173.232 - - [07/May/2013:"..., 203) =
203
9910 0.000043 close(14) = 0
9910 0.000162 recvfrom(3, 0x7fddc6670010, 262112, 0, 0, 0) = -1
EAGAIN (Resource temporarily unavailable)
9910 0.000253 epoll_wait(12, {{EPOLLIN, {u32=3328906192,
u64=140590493406160}}}, 512, 180000) = 1
9910 0.218032 recvfrom(3,
"\200\2\0\1\1\0\0u\0\0\0\3\0\0\0\0\200\0B\212bf`d\r\252h\"*6\0041"...,
262112, 0, NULL, NULL) = 125
9910 0.000391 open("/etc/nginx/html/favicon.ico",
O_RDONLY|O_NONBLOCK) = 14
9910 0.000353 fstat(14, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
9910 0.000273 writev(3,
[{"\200\2\0\2\1\0\0\256\0\0\0\3\0\0\0\236\0a\377\0\6\0\7version\0\10"...,
182}], 1) = 182
9910 0.000267 write(5, "84.201.173.232 - - [07/May/2013:"..., 213) =
213
9910 0.000300 close(14) = 0

I tried to disable tcp_nopush using config file, but result is always the
same.

Could you please help me to resolve this issue?

As temporary solution I just commented out the following code in my local
source:
int
ngx_tcp_nopush(ngx_socket_t s)
{
#if 0
int cork;

cork = 1;

return setsockopt(s, IPPROTO_TCP, TCP_CORK,
(const void *) &cork, sizeof(int));
#else
return 0;
#endif
}
And issue disappeared after that.
However, I need a permanent solution for this problem.

BR/ Yury
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

TCP_CORK option is never turned off

Yury Kirpichev 875 May 07, 2013 06:50AM

Re: TCP_CORK option is never turned off

Valentin V. Bartenev 443 May 07, 2013 10:06AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 217
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready