I have been trying to figure out what seems to be socket exhaustion on a production web server (Windows Server 2012). I have a powershell script, which is using Get-NetTCPConnection, to record the tcp ports that are in use.
The script is outputting that our processes are showing a large amount of sockets are with a remote address of 0.0.0.0:0 with a state of "Bound". There is no code that binds to this address either. The socket spike mostly begins at midnight, peaks at 4am, and returns to normal by 6am. The average number of sockets with remote address of 0.0.0.0:0 at the peak is 1500, which is way too high.
There are no scheduled processes either that are running at this time, and we have very little load.
Am I looking in the wrong place, or maybe I need to use a different tool? Maybe its not even a socket exhaustion problem in the first place? I don't know.
The c# exception message I am dealing with that lead me to believe it is this:
An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full