Массовое обновление и вставка с использованием вызова метода Meteor в цикле с высокой загрузкой процессора - PullRequest
0 голосов
/ 02 марта 2019

Мое приложение на METEOR@1.6.0.1, и я использую reywood:publish-composite, matb33:collection-hooks для отношений с БД.

Мне нужно вставить список из 400 человек в коллекцию из файла Excel, для негов настоящее время я вставляю из клиента, используя метод Meteor внутри цикла, но когда я вижу на galaxy, во время этого использования ЦП очень высокая 70-80% или некоторое время 100%.

После того, как все данные вставлены, мне нужно отправитьпочта и обновить запись, так что я отправляю почту и обновляю, используя метод вызова Meteor, один за другим, что снова делает процессор 70-80%.

Как я могу выполнить вышеуказанную задачу правильным и эффективным способом.Пожалуйста, помогите.

Спасибо.

1 Ответ

0 голосов
/ 09 марта 2019

Я подозреваю, что вы не используете хвосты оплогов и пытаетесь вставить, когда в какой-то другой части вашего приложения открыты подписки на публикации.Без этого метеора опрашивает коллекции и генерирует много медленных запросов при каждой вставке документа.

Вы можете включить его, передав URL-адрес метеору при запуске.Для получения дополнительной информации см. https://docs.meteor.com/environment-variables.html#MONGO-OPLOG-URL.

Наличие хвостов оплогов облегчает нагрузку на сервер и должно снизить интенсивное использование процессора до управляемого уровня.

Если у вас все еще есть проблемы, возможно, вам придется настроить некоторые трассировки, например, monti-apm https://docs.montiapm.com/introduction

...