Meteor.js的高CPU利用率

时间:2014-07-04 19:02:46

标签: javascript node.js performance meteor forever

enter image description here

meteor.js 0.82 app正在Ubuntu 14.04服务器上运行,内存为2GB,内存为2个cpu。它是使用mup部署的。但是,CPU利用率非常高,htop报告2.72平均负载。

问题:如何找出应用的哪个部分导致如此高的CPU利用率?我使用了Kadira,但它没有透露任何占用大量CPU负载的事情。

Meteor只使用一个核心吗?

enter image description here enter image description here enter image description here enter image description here

1 个答案:

答案 0 :(得分:2)

我之前遇到过与流星0.8.2-0.8.3类似的问题。以下是我为降低CPU使用率所做的工作,希望您发现它有用。

  • 仔细检查您的功能,确保所有功能都正确return,并正确捕捉错误
  • 尝试使用replicaSet和oplog mongo convert standalone to replica set
  • 编写脚本以自动终止并重新绘制节点进程(如果它超过100%cpu使用率)
  • 通过启动2个进程(编辑已经完成)并配置和设置负载平衡和反向代理来利用多核功能
  • 请务必查看您的发布和订阅,并限制要发送给客户的数据(只需避免Collection.find();之类的内容)

我个人推荐Phusion Passenger,这使得部署Meteor应用程序变得轻松,我已经将它用于几个没有任何重大问题的项目。

还有一件事,就是避免在 root (或特权用户)中运行进程,您应该在其他用户中运行您的应用程序,例如 www-data 。这是出于明显的安全原因。

P.S。在htop中显示的多个mongo进程是主进程下的线程,您可以通过按F5以树模式查看它。