lots of connections on TIME_WAIT state

Anıl Çetin anil at saog.net
Wed Apr 8 18:56:51 MSD 2009


So, what is the solution? I have exactly the same problem, my nginx is 
in a virtual server (openvz), working as a proxy server in front of 
apache and oftenly  (after 2k-3k requests) server becomes "out of 
sockets"  even I raise the allowed numbers of sockets to a very big number.


Igor Sysoev yazmış:
> On Wed, Apr 08, 2009 at 10:47:16AM +0300, Artis Caune wrote:
>
>   
>> 2009/4/7 Deepan Chakravarthy <codeshepherd at gmail.com>:
>>     
>>> Hi,
>>>   I am using nginx with fast-cgi .  When I run
>>> $netstat -np | grep 127.0.0.1:9000
>>> I find lot of connections in TIME_WAIT state. Is this because of high
>>> keepalive_timeout value ?   When lot of people use (5 requests per second)
>>>  nginx takes more  time to respond. System load goes more than 10 during
>>> peak hours.
>>>       
>> This is because of how TCP works.
>>
>>
>>     
>>> debian:~# netstat -np | grep 127.0.0.1:9000
>>> tcp        0      0 127.0.0.1:9000          127.0.0.1:45603
>>> TIME_WAIT  -
>>> tcp        0      0 127.0.0.1:9000          127.0.0.1:45601
>>> TIME_WAIT  -
>>>       
>> If you were on FreeBSD, you could disable TIME_WAIT on loopback
>> completely by setting:
>>
>>     sysctl net.inet.tcp.nolocaltimewait=1
>>     
>
> Due to the incorrect implementation this remedy is worse than the disease.
> The net.inet.tcp.nolocaltimewait relys on unlimited RST delivery, therefore
> if there are too many RSTs, they will be limited by net.inet.icmp.icmplim
> and you will have a lot of sockets in the LAST_ACK state on server side
> instead of lot of sockets in the TIME_WAIT on client side.
>
>
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20090408/baf50813/attachment.html>


More information about the nginx mailing list