我不确定如何描述这个,但我正在运行一个节点应用程序,其中包含4个核心上的集群,端口80,使用RedisStore作为socket.io存储,express.js和socket.io侦听在它上面。
发生的一些有趣的行为是,大约40%的客户使用Chrome(和Firefox连接到socket.io,但我们停止使用不同的浏览器,因为它似乎是全面的),它连接并且工作正常对于前25-30秒,然后有60秒的死时间,其中从客户端发送请求但服务器没有接收或确认,并且在1.5分钟--1.6分钟,客户端启动新的websocket连接。有时新的websocket连接具有相同的行为,有时连接“捕获”并且在接下来的几个小时内持续存在并且绝对正常。
有趣的是,在我们在不同端口(也使用群集)上运行的测试服务器上不会发生此行为;而且它不会发生在我们的任何本地开发服务器上(其中一些服务器实现集群,其他服务器不实现集群)。
有什么想法吗?