8

我的网站CompassionPit.com由 Node.js 提供支持。我已经发布了源代码;它托管在 GitHub 上。该应用程序本身在具有 768MB RAM 的 Linode 上运行(我最近升级了服务器;它是 512MB)。

最近我收到了来自 Linode 的 CPU 使用率通知:我们越来越频繁地达到 90% 以上的使用率。我打电话给 Linode,想看看我能做些什么来升级对 CPU 资源的访问,但显然我现在还好,因为如果我们最大限度地达到 100%,那么我们可以溢出到接下来的 3 个内核(Linodes 是 4 个处理器 Xen实例)。

如何分析我的 Node 应用程序以查看我在哪里使用了内存和 CPU 资源? 我预计我很快将需要重组应用程序以由多个服务器设置运行,但我直觉地相信正确的分析将导致更明智的架构决策。如果我错了,请纠正我。

4

3 回答 3

3

节点检查器在 0.6.x 版本之后无法分析节点

以下插件已更新以适用于新版本的 v8(节点 0.7.x +)。它是除了 nodetime.com 之外唯一仍在工作的网站。它使用实际的 webkit 调试器:

https://github.com/c4milo/node-webkit-agent

它也有非常明确的指示。

于 2012-10-12T18:24:09.213 回答
1

我使用https://github.com/dannycoates/node-inspector进行分析取得了相当大的成功。README 文件的底部有一个设置指南。

在 Node.js 的更高版本中,节点检查器的分析部分不再起作用。我在--profhttp://code.google.com/p/v8/wiki/V8Profiler)和https://github.com/c4milo/node-webkit-agent方面取得了合理的成功,如下面的答案中所述。

于 2011-09-05T08:45:07.877 回答
1

从 v6.3.0 开始,您现在可以运行 node --inspect your_script.js.

Node 将打印一个到控制台的 URL,该 URL 可以在 Chrome 中打开,它将连接您以显示一个功能齐全的 Web Inspector,您可以使用它来分析 Node 进程。

运行node --inspect --debug-brk以立即暂停执行(如果您需要在应用程序启动后立即启动分析会话,这很方便)

于 2016-11-02T22:02:56.223 回答