繁体   English   中英

Node.js分析的最佳实践是什么?

[英]What is the best practice in nodejs profiling?

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

请告知工具以找出瓶颈。 我也不明白v8 garbidge收集器是如何工作的。

我不是节点专家,但是一段时间以来我一直在尝试分析一些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探查。 可以在开发人员工具中找到,您可能必须在“更多工具”菜单中启用Javascript Profiler。 这将为您提供三种不同的方式来查看您花费时间的功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM