MongoDB - Статистика работы - numYields - PullRequest
0 голосов
/ 27 мая 2018

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

Значение numYields, по-видимому, увеличивается в соответствии с тем, что должна делать БД, поэтому мне интересно, увеличивается ли оно каждый раздокумент изменен (обновление: Multi).

В соответствии с документацией :

Длительные операции чтения и записи, такие как запросы, обновления иудаляет, дает при многих условиях.Операции MongoDB также могут привести к блокировкам между отдельными изменениями документа в операциях записи, которые влияют на несколько документов, таких как update () с параметром multi.

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

Может ли кто-нибудь поделиться информацией о том, надежен ли этот индикатор для определения того, сколько документов было обновлено в рамках этой длительной операции?

1 Ответ

0 голосов
/ 29 мая 2018

Может ли кто-нибудь поделиться информацией о том, надежен ли этот индикатор для определения того, сколько документов было обновлено в рамках этой длительной операции?

Нет: numYields указывает толькочто длительная операция принесла.Не существует прямой корреляции с одновременными обновлениями, и есть несколько причин для периодической выдачи, как отмечено в Дает ли операция чтения или записи когда-либо блокировку? :

  • , чтобы избежать длительноготранзакции живого хранилища, потому что они могут потенциально требовать хранения большого объема данных в памяти;
  • , чтобы служить в качестве точек прерывания, чтобы можно было завершить длительные операции;
  • , чтобы разрешить операции, которые требуют монопольного доступав коллекцию, такую ​​как указатель / удаление или создание коллекции.

Однако в приведенном выше абзаце не указывается, приводит ли каждое обновление к документу или происходит ли оно случайно один раз вмало обновлений.

Уступание является периодическим и обычно определяется такими показателями, как истекшее время или количество операций / итераций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...