我有一个在 Node.js 和 Socket.io 上运行的相对简单的聊天类型应用程序。节点服务器从 Minecraft 服务器流式传输聊天数据,然后将其流式传输到使用 Socket.io 连接到网站上的任何客户端。可以在此处找到该系统的工作演示:standardsurvival.com/chat。
它在大多数情况下工作得很好,但每隔一段时间节点服务器就会停止响应,并且此后不久活动连接就会死亡。在此期间,该进程将开始消耗 100% 的 CPU,但内存始终保持相对恒定,因此我怀疑是否涉及任何类型的内存泄漏。
这非常令人沮丧,因为我无法始终如一地重现该问题以找出问题所在,而且我不知道该去哪里找。我一直在设置循环并注释掉节点服务器和网站之间管道的各个部分,以尝试查明可能导致它的原因。目前还没有运气。
有任何想法吗?