-4

我制作了一个实时图表,显示每秒的系统负载。它在我的本地机器上运行良好,但是在我将它部署到服务器后,在数据从服务器发回之前有很长的延迟。另外,我除了每秒发送一次数据外,它以不规则的间隔发送数据。

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);
    });
});

这是图表

这是源代码

4

1 回答 1

1

好吧,您已将其描述为“每秒”,但您的时间间隔设置为30003”。

对于“不规则间隔”,不保证间隔是准确的。

来自全球

请注意,实际间隔可能会有所不同,具体取决于操作系统计时器粒度和系统负载等外部因素。它永远不会少于ms但它可能会更长。

计时器

重要的是要注意,您的回调可能不会在精确的delay毫秒内被调用 - Node.js 不保证回调触发的确切时间,也不保证触发的顺序。回调将被称为 close尽可能到指定的时间。

于 2012-12-16T05:14:34.080 回答