如何配置我的节点应用程序以查看我正在耗尽内存和CPU资源的位置?

时间:2011-09-05 08:34:19

标签: javascript memory-management node.js linode

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

最近我收到了来自Linode的CPU使用率通知:我们的使用率越来越高。我打电话给Linode看看我可以做些什么来升级我对CPU资源的访问权限,但显然我现在没问题,因为如果我们最大化到100%那么我们可以溢出到接下来的3个核心(Linodes是4处理器Xen)实例)。

如何配置我的节点应用以查看我耗尽内存和CPU资源的位置?我预测我很快就需要重新构建应用程序,以便通过多服务器设置运行,但我直观地认为,适当的分析将导致更智能的架构决策。如果我错了,请纠正我。

3 个答案:

答案 0 :(得分:3)

节点检查程序无法在版本0.6.x之后配置节点

以下插件已更新,可与新版本的v8(节点0.7.x +)配合使用。它是除了nodetime.com之外唯一一个仍然有效的方法。它使用实际的webkit调试器:

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

它也有非常明确的指示。

答案 1 :(得分:1)

自v6.3.0起,you can now run .env

Node将打印一个指向控制台的URL,该控制台可以在Chrome中打开,它将连接您以显示可用于配置节点进程的全功能Web Inspector。

运行(def state (r/atom {:doc { } :saved? false})) 立即暂停执行(如果您需要在应用程序启动后立即启动性能分析会话,这很方便)

答案 2 :(得分:0)

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

从Node.js的更高版本开始,node-inspector的分析部分不再起作用。我在下面的答案中提到的--profhttp://code.google.com/p/v8/wiki/V8Profiler)和https://github.com/c4milo/node-webkit-agent取得了一定的成功。