【发布时间】:2012-12-03 14:17:34
【问题描述】:
我制作了一个实时图表,显示每秒的系统负载。它在我的本地机器上运行良好,但是在我将它部署到服务器后,在数据从服务器发回之前有很长的延迟。另外,我除了每秒发送一次数据外,它以不规则的间隔发送数据。
io.sockets.on('connection',function (socket) {
var sysinfo = setInterval(function(){
socket.emit('system_info',{
time:Date.now(),
load:os.loadavg(),
memory:os.totalmem()-os.freemem()
});
},3000);
socket.on('disconnect',function(){
clearInterval(sysinfo);
});
});
【问题讨论】:
-
真正的问题是什么?
-
数据到达前有很长的延迟,并且数据以不规则的间隔发回。
-
如果您检查网络流量,部署时是否仍与 Websocket 连接?也许它正在回退到服务器的另一种传输方式,但在本地系统上使用 Websockets。
-
@loganfsmyth 经过检查,我确实发现它正在退回到 xhr 轮询,但我仍然不明白。是服务器的问题还是我的问题?
-
@user1823713 这可能解释了当时的缓慢。您使用的是什么托管服务?他们支持 websocket 吗?