nodejs分析中的最佳实践是什么?

时间:2014-08-06 14:19:17

标签: node.js v8

我不想使用nodetime之类的服务。我有小型中间件nodejs应用程序。现在我的应用程序以奇怪的方式使用cpu http://s27.postimg.org/fgzmmh85f/cpu.png所以我需要简单的工具来分析我的代码。我尝试使用node --prof app.js但Chrome Dev Tool不会打开生成的日志文件。

请告知工具以找出瓶颈。另外我无法理解v8 garbidge收藏家是如何工作的。

1 个答案:

答案 0 :(得分:0)

我不是节点专家,但我一直试图描述一些JS代码。这是我可以告诉你的:

有两种方式可以分析,但两者都提供相同的数据。第一个是使用node --运行代码,这将生成isolate*.log文件。您将此文件提供给node --prof-process,这将为您提供smoe输出,如果您有点幸运,您可以理解并采取行动。

第二个或多或少是这样的:

var profiler = require('v8-profiler');
profiler.startProfiling('carto');

[your code here]

var profile = profiler.stopProfiling('carto');
profile.export(function(error, result) {
    fs.writeFileSync('carto.cpuprofile', result);
    profile.delete();
})

这将生成一个.cpuprofile,您可以在chromium的JS Profiler中加载它。这可以在Developer Tools中找到,您可能需要在More Tools菜单中启用Javascript Profiler。这将为您提供三种不同的方式来查看您花费时间的功能。