Pushing the limits of stream_socket_server() and stream_select()
| From: | René Fournier | Date: | Tue, 11 Dec 2007 23:32:46 +0000 |
| Subject: | Pushing the limits of stream_socket_server() and stream_select() | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-265727@lists.php.net to get a copy of this message | ||
Just curious what people found the limits to be with stream_socket_server(), in terms of maximum concurrent connections, packet sizes, etc. I'm am presently stress-testing a multi-client socket server and am finding I can sometimes break it with as few as 100 concurrent connections, and always break it with [precisely] 252 connections--with a variety of errors getting thrown:
Client-side (>100 connections, sometimes):
PHP Warning: stream_socket_client(): unable to connect to tcp://192.168.0.41:2222 (Operation timed out) in /Tuning/client.php on line 3
PHP Notice: fwrite(): send of 68 bytes failed with errno=32 Broken pipe in /Tuning/client.php on line 14
Server-side error ( 252+ connections, every time):
PHP Warning: stream_select(): supplied argument is not a valid stream resource in /Tuning/server.php on line 15
Interestingly, the above server-side error only occurs when 252 clients are connected. At 251, it's okay. At 252, it generates the above PHP Warning. (Which really is strange. Anyone have any ideas?)
If anyone is interested, I will post the sample code I'm using, in case--perish the thought--the problem is self-inflicted. :-)
...Rene