MongoDB插入/更新上的流星计算时间很长

时间:2019-01-17 19:50:41

标签: mongodb meteor meteor-galaxy

我有一个流星应用程序,该应用程序托管在Galaxy上,数据库在mLab上。

如果文档很小,则使用流星法更新文档效果很好,但是如果文档大于特定大小,则星系CPU使用率将高达​​100%,并且容器变得不健康。

流星APM报告数据库更新耗时少于400毫秒,而“计算”(直接在更新之前)耗时80 000毫秒以上。

这是代码的简化示例。

声明集合并在一个文件中分配一个模式。

trips.js

const Trips = new Mongo.Collection('trips');
//schema is declared and attached

export {Trips}

方法在另一个文件中声明。

Methods.js

import {Trips} from '../trips';

Meteor.methods({

    'updateTrip' (tripId, trip){
        check(tripId, String);
        check(trip, Object);

        Trips.update({
             _id: tripId
        },{
           $set: {
             field1: trip.field1,
             field2: trip.field2,
             field3: trip.field3
           }
        });
    }       
});

在某些情况下,字段是其中嵌套了大对象的对象。

我是Meteor和MongoDB的新手,并且不是该项目的原始开发人员,所以我想知道此代码中是否存在可能导致100%CPU使用率和长时间延迟的错误。

0 个答案:

没有答案