实时聊天时出现max_user_connection错误

时间:2016-07-16 09:24:11

标签: database-connection chat comet long-polling server-sent-events

我用长轮询创建了实时聊天。它的工作原理如下:

首先,用户向服务器发送请求。服务器获取请求并等待新消息。

如果收到新消息,它会向用户的浏览器发送消息(如果请求已关闭,则浏览器将重新发送消息)。如果服务器等待超过3分钟,请求将被取消,并且将发送新请求。

在服务器上,我使用PHP。在PHP中,我只检查每600毫秒后的消息计数。如果它大于先前的计数,服务器将获得新消息并将其作为响应发送到浏览器。

问题是我得到max_user_connection错误,即使我在数据库中的每次SQL检查后都关闭了mysqli连接。

如果我不关闭mysqli,则会更频繁地发生错误。

我如何解决这个问题? (现在我的主人是Hostgator,计划是共享的)

1 个答案:

答案 0 :(得分:0)

登录mysql服务器并运行此命令,找出已设置的最大连接数?

mysql>show variables like "max_connections";
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 100   |
+-----------------+-------+

如果它小于您此时请求的连接数,则更新连接数。

mysql>set global max_connections = 200;

这应该可以解决您的问题。请记住,max_connections是动态的,您不必停止或重启mysql服务器。您可以直接更新连接数。