在循环中使用Meteor方法调用进行批量更新和插入,从而提高了CPU使用率

时间:2019-03-02 12:37:58

标签: mongodb meteor meteor-blaze meteor-publications meteor-galaxy

我的应用程序位于METEOR@1.6.0.1上,我正在使用reywood:publish-compositematb33:collection-hooks进行数据库关系。

我需要从Excel文件中向集合中插入400个人的列表,因为它目前是我在循环中使用Meteor方法从客户端插入的,但是当我在此CPU使用率上看到星系时,这是很高的70-80%或一些时间100%。

插入所有数据后,我需要发送一封邮件并更新记录,因此我要使用流星方法一个接一个地发送邮件并进行更新,这再次使CPU占用70-80%的空间。

我如何以正确有效的方式完成上述任务。请帮忙。

谢谢。

1 个答案:

答案 0 :(得分:0)

我怀疑您没有使用oplog拖尾,并且正在尝试在应用的其他部分打开出版物订阅时进行插入。没有这种流星,民意调查的集合,并在每个文档插入时生成许多缓慢的查询。

您可以通过在启动时将网址传递给流星来启用它。有关更多信息,请参见https://docs.meteor.com/environment-variables.html#MONGO-OPLOG-URL

具有oplog拖尾功能可以减轻服务器的负担,并将高CPU使用率降低到可管理的水平。

如果您仍然遇到问题,则可能需要设置一些跟踪,例如monti-apm https://docs.montiapm.com/introduction