我在使用PHP7的Ubuntu 16盒子上使用https://github.com/ghedipunk/PHP-Websockets/blob/master/websockets.php运行websockets服务器
256个用户连接到websocket后,它停止连接,我无法弄清楚原因。在客户端,我得到一个1006错误代码(连接由浏览器实现异常(本地)关闭),没有进一步的信息。 websockets请求似乎没有出现在websockets服务器上(通常是echos"客户端已连接"在建立套接字连接之后)。
在connect()函数中,我所做的一件事是回显日志的用户数,套接字数和总体内存使用量。每当用户计数达到256(此时套接字计数为257,内存使用量约为4Mb)时,就会出现此问题。它发生在256的事实使我认为某个地方正在受到限制,但我无法找到这个限制。如果我重新启动websockets服务器,一切正常。
到目前为止,我的调查已经尝试并检查过:
[proxy:error] [pid 16785] (111)Connection refused: AH00957: WS: attempt to connect to 10.0.0.240:9000 (websockets.mydomain.com) failed
,它并没有告诉我任何事情。 Apache正在运行MPM prefork,我增加了备用服务器和MaxRequestWorkers 我愿意接受任何关于下一步的建议或如何从"连接拒绝"中获取更多细节的建议。来自apache的错误日志!
由于
答案 0 :(得分:1)
它的Apache阻止了你。尝试在conf文件中设置以下内容...
MaxClients 512
ServerLimit 512
(你必须设置两者) 当然,您可以使用适合您的任何数字。在mpm-prefork中,你应该能够达到20,000,但这确实不是必需的。