Meteor.js的高CPU利用率

在这里输入图像说明

一个meteor.js 0.82应用程序运行在具有2GB内存和2个CPU核心的Ubuntu 14.04服务器上。 它使用mup进行部署。 但是CPU利用率非常高, htop报告平均2.72负载。

问题:如何找出应用的哪个部分导致如此高的CPU利用率? 我用卡迪拉,但它并没有透露任何东西占用了很多的CPU负载afaik。

Meteor是否只使用一个核心?

在这里输入图像说明在这里输入图像说明在这里输入图像说明在这里输入图像说明

我之前也有一个和Meteor 0.8.2-0.8.3类似的问题。 以下是我已经做了减lessCPU使用率,希望你会发现它有用。

  • 仔细检查你的函数,确保所有的函数都有正确的return ,并且正确地捕获错误
  • 尝试使用replicaSet和oplog 将mongo转换为独立副本集
  • 编写脚本来自动杀死和重新绘制节点进程,如果它超过100%的CPU使用率
  • 利用多核function启动2个进程( 编辑已经完成)并configuration和设置负载平衡和反向代理
  • 确保审查你的发布和订阅,并限制什么数据发送到客户端(只需避免像Collection.find();

我个人推荐Phusion Passenger ,它可以轻松部署Meteor应用程序,而且我已经将它用于几个项目,没有任何重大问题。

还有一件事,避免在root (或特权用户)运行进程,你应该运行在另一个用户,如万维网数据的应用程序。 这是明显的安全原因。

PS和htop中显示的多个mongo进程是主进程下的线程,您可以按F5以树形模式查看它。