是否可以查看事件循环进行诊断?
我想知道当前有多少事件正在等待执行(不包括 setTimeout/interval)。
更新:我想从正在运行的节点进程中执行此操作。
是否可以查看事件循环进行诊断?
我想知道当前有多少事件正在等待执行(不包括 setTimeout/interval)。
更新:我想从正在运行的节点进程中执行此操作。
使用 setImmediate() 为 nodejs 0.10 更新
虽然我无法找到队列中等待事件的数量,但我发现了另一个可能有用的健康指标:
var ts=Date.now();
setImmediate(function()
{
var delay=Date.now()-ts;
});
延迟将包含从排队事件到执行它所花费的毫秒数。
这也考虑了 CPU 密集型事件(仅通过查看事件数是不可能的)。
测量本身也会影响事件队列,但这应该比完整的分析器具有低得多的开销。
NodeFly 的代理监控整个 Node.js 性能,包括事件循环。您可以阅读一些关于此功能的博客文章:
http://blog.nodefly.com/post/41119237822/monitoring-the-event-loop-in-node-js
http://blog.nodefly.com/post/41201793716/just-another-friday-night-chat-scaling-node-js-and
您可以在这里找到并试用代理: