4

I am running client load testing software for my server from a Windows 7 Enterprise box. The client box is able to get up to 16346 TCP connections out, and then it starts giving the error “An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full” and doesn't make any more connections. As far as I understood, Windows 7 is only limited for TCP connections by the amount of memory you have, and the usual limit on ephemeral ports. The 16346 number sounds suspiciously close to 16635, suggesting some funny limit. Any ideas?

EDIT: I figured it out. The ephemeral ports needed adjusting. There were only 16384 available. Fixed as per the instructions here: http://www.speedguide.net/read_articles.php?id=2574

  • Honestly, I think you're just out of resources, as the message says. I don't think the 16K limit is relevant. –  Sep 22 '10 at 17:46
  • 1
    What kind of resources? The resource monitor doesn't show anything funny in memory or cpu. –  Sep 22 '10 at 17:56
  • 1
    I'm curious as to why you'd need over 16,000 TCP connections in the first place. Putting that aside, though, here's some reading you might find interesting. It's not DIRECTLY relevant to TCP connections, but it does discuss the absolute limits of Windows. http://blogs.technet.com/b/markrussinovich/archive/2008/07/21/3092070.aspx – SilentW Sep 22 '10 at 18:35
  • 1
    You'd need more than 16,000 if, for instance, you left your TcpTimedWaitDelay to its default (4 minutes), and say: want to run any server that gets any appreciable load of any time. – Marc Bollinger Apr 06 '11 at 19:07

1 Answers1

1

I figured it out. The ephemeral ports needed adjusting. There were only 16384 available. Fixed as per the instructions here: http://www.speedguide.net/read_articles.php?id=2574

Aaron
  • 2,968
  • 1
  • 23
  • 36