Hello all, First of all, I just wanted to give a great big thank you to Rocco and crew for creating and supporting POE. So far it has been a wonderful environment to work with.
Secondly, I seem to have reached a limitation on the maximum number of concurrent TCP connections with POE::Component::Server::TCP. It seems to peak out around 2000. I am aiming for about 10_000 concurrent connections. At first I thought this was a problem with my Windows 2000 IP stack and I'm still fairly positive that it is, but being unable to find any definitive answers after playing around for a while, I thought I would ask here. The error: Server 2 got accept error 24 (Too many open files). After that point the server stops accepting any new incoming connections. My first question is: Is 10,000 simultaneous a realistic goal? Secondly, is this a POE issue or an operating system issue? I know this is outside the realm of the POE mailing list but worth mentioning. First I adjusted HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters to be a sufficiently large number (0x00fffffe). I found some documentation that suggest playing with the TCB cache size but that seems to me to only improve the lookup times when you have a large number of active connections and should not effect the ability to send a syn/ack. That's why I'm fairly sure this is an OS issue. Second I traced the source just to make sure that $_[HEAP]->{concurrency} was equal to -1 (unlimited). Does anyone have any experience with this? Is the error mentioned above have anything to do with system level file handles or is it, as the source code documentation mentions, an attempt to mimic the unix mentality of "everything is a file" and it's actually a windows socket issue? Someone else suggested that this may be a perl compile time limitation though I cannot find anything in the perl source mentioning limitations of this sort. Feel free to tell me to go ask a windows mailing list (but please suggest one ;). Thank you! Sincerely, Zachary Payton