如何使用Meteor的分析器?

我的Meteor应用程序,在服务器端(节点进程),正在使用更多的CPU比是可以接受的,我想调查它。

两个同时的客户端是主节点使用100%的CPU。 这可能与观察员的大量使用有关,但是在更改整个应用程序之前,我需要进一步调查。

那么,我可以用什么工具来分析它? 如何使用它?

应用性能监测应用性能监测 ( APM)是MeteorHacks成名的Arunoda Susiripala开发的Meteor 包 +云服务。 目前它正处于testing阶段,看起来非常有前景:

电话

在Costly Calls选项卡中,您可以钻取方法并识别那些时间最长的方法:

截图

这个1分钟的教程video显示了这种昂贵的方法 ,这可能是你想要的。

更多截图

更多的截图

我find的最佳解决scheme是v8-profiler (加上节点检查器 )。

安装

  1. 转到[Meteor installation folder]/dev_bundle/lib/node_modules

  2. exec $ npm install v8-profiler那里。

  3. 添加你的服务器代码:

 Meteor.startup(function() { profiler = __meteor_bootstrap__.require("v8-profiler") Meteor._debug("Server started!"); }); 
  • 这个方法很快就会被replace掉

使用

  • 无论您的应用服务器代码如何,都可以通过以下方式进行configuration

     profiler.startProfiling("name"); //begin cpu profiling yourCode(); var cpuProfile = profiler.stopProfiling("name"); //finish cpu profiling 
  • 不要忘记运行node-inspector

你也应该看看meteor的天文台 。 这是一个function强大的服务器端和客户端的日志logging软件包,支持任意函数的分析function,“模板生命周期方法的自动logging,收集方法(目前仅支持查找)和订阅分析”。

NodeTime是一个非常棒的分析服务。 这是免费使用,这是在像你这样的情况下特别有用,并且非常容易设置!

现在有

console.time('myFunction'); myFunction(); console.timeEnd('myFunction') //Outputs: myFunction: xxxxms

我刚刚证实,它使用meteor1.2。 超级简单,轻松,内置。

Interesting Posts