我在使用 NodeJS
和 Socket.io
时遇到了一个奇怪的问题。
服务器通过 ZeroMQ
接收数据,这部分工作非常完美。对于来自 ZeroMQ
的每条消息,我使用 sockets.volatile.emit
将其发送到所有连接的客户端。
问题只出现在连接的账户数量很多(超过100),似乎存在一个发送给客户端的队列(客户端接收到延迟逐渐增加的消息)
注意:每个连接的客户端都会收到来自 ZeroMQ 的每条消息,因此对于更多的客户端,通过 Socket.IO 发送的数据也就更多。
通过日志/调试,我知道从 ZeroMQ
接收的部分没有延迟,并且所有内容都正常工作。发射似乎有一个队列或延迟,而且延迟不断增加。
每个客户端的消息速率为 80
条/秒。
注意:
NodeJS 0.10.20 和 Socket.IO 0.9.16。