如何使用Meteor的分析器?
我的Meteor应用程序,在服务器端(节点进程),正在使用更多的CPU比是可以接受的,我想调查它。
两个同时的客户端是主节点使用100%的CPU。 这可能与观察员的大量使用有关,但是在更改整个应用程序之前,我需要进一步调查。
那么,我可以用什么工具来分析它? 如何使用它?
应用性能监测应用性能监测 ( APM)是MeteorHacks成名的Arunoda Susiripala开发的Meteor 包 +云服务。 目前它正处于testing阶段,看起来非常有前景:
在Costly Calls选项卡中,您可以钻取方法并识别那些时间最长的方法:
这个1分钟的教程video显示了这种昂贵的方法 ,这可能是你想要的。
更多截图
我find的最佳解决scheme是v8-profiler (加上节点检查器 )。
安装
-
转到
[Meteor installation folder]/dev_bundle/lib/node_modules
。 -
exec
$ npm install v8-profiler
那里。 -
添加你的服务器代码:
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。 超级简单,轻松,内置。