3

I have ASP.NET application running on Windows Server 2008 R2 hosted on Rackspace servers. Suddenly something went wrong. All my application working fine except for the pages which call third part web-service(in other words access the internet). I am getting An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full. When I login in server via Remote Desktop and access the internet it shows me 'Connection Error'.

Stats 22 Dec 2015,

CLOSE_WAIT  5   
ESTABLISHED 146
TIME_WAIT   646750
LAST_ACK    1
LISTENING   30

2 Answers2

1

You've just ran out of TCB (i.e. TCP handles)

The cause could be anything, e.g.:

Port leaks on any commercial software you're running --> Solution: Review which software are you running and apply any available hotfixes. Port exhaustion attack --> Solution: Ask your hosting provider if your traffic levels are abnormal. Port leaks on any custom software deployed --> Solution: Get your devs to review if they're releasing TCBs after closing TCP connections.

A time_wait state happens after the TCP connection has been close. The computer will keep the port in a half closed (sic) state in case there are any delayed packets. It should remain in this state for a time defined as 2xMSL (two times the maximum segment lenght) which by default has a value of 400ms (2x200ms). In your case you're either getting too many connections at a faster pace than how these are completely closed (and freed) or for some reason these are not being freed at all.

Being Rackspace a managed hosting I would recommend you to ask them to login through the ILO/DRAC port and reboot your computer if you just want to get moving.

Pedro Perez
  • 6,202
  • 1
  • 11
  • 11
0

Use this command to find the culprit executable

netstat -nbt

kill that exe or stop the service and you are good to go