节点服务器运行数天后,socket.io变得缓慢且无响应

我一直在使用节点服务器上的socket.io为我的网站开发发布function。 过去一个月来,我一直在遇到问题,连接几天后套接字连接变得非常缓慢或完全没有响应。 服务器没有内存不足。 我对debugging这类问题还不是很熟悉。

在“websocket连接无效”或“客户端不握手”客户端应该重新连接之后,socket.io日志并没有告诉我多less“

我search了一下,最终看到一个线程build议在命令行中运行netstat,并在FIN_WAIT2和CLOSE_WAIT中看到大量的连接,并认为这是我的问题的原因。 看了一些线程后,socket.io github相关的build议升级到分支0.9.14(我当时运行的是0.9.13)。

我从那以后就这样做了,当服务器连续运行几天后,我仍然有一段时间的“停机时间”。 我的网站没有得到任何附近的交通量,这应该是一个问题。

一个新的错误已经开始在我的日志中popup(websocketparsing器错误:操作码10没有处理程序),但是我的谷歌search已经在这个问题上蹲下了。 我不知道该怎么去解决这个问题,或者如果我只是在一个红色的鲱鱼,真正的问题是别人,你们中的一个人可以帮我解释一下。

我正在运行node.js v0.10.10并使用socket.io v0.9.14。 Linux服务器的硬重启将在100%的时间内解决问题,而重启节点服务不会,这导致我相信这是与服务器上的开放套接字有关的问题。

您可能正在经历最近修复的node.js中的已知错误 – 请参阅问题#5504 。

升级到节点v0.10.11后问题仍然存在吗?