Метеоритное время вычислений при вставке / обновлении MongoDB - PullRequest
0 голосов
/ 17 января 2019

У меня есть метеорное приложение, которое размещено на Galaxy с базой данных на mLab.

Метеоритный метод обновления документов работает нормально, если документ небольшой, но если его размер превышает определенный размер, загрузка ЦП галактики возрастает до 100%, и контейнер становится нездоровым.

Meteor APM сообщает, что обновление базы данных занимает <400 мс, а «вычисление» (непосредственно перед обновлением) занимает 80 000+ мс. </p>

Вот упрощенный пример кода.

Коллекция объявлена ​​и ей присвоена схема в одном файле.

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% загрузку ЦП и длительные задержки.

...