Мониторинг MongoDB
После установки, развёртывания и запуска службы MongoDB вы должны понимать, как работает MongoDB, и проверять производительность MongoDB. Так вы сможете хорошо справляться с высоким трафиком и обеспечить нормальную работу MongoDB.
MongoDB предоставляет две команды, mongostat и mongotop, для мониторинга состояния работы MongoDB.
команда mongostat
mongostat — это инструмент мониторинга состояния, поставляемый с MongoDB и используемый из командной строки. Он получает и выводит текущее состояние работы MongoDB через фиксированные интервалы. Если вы обнаружите, что база данных внезапно стала медленной или возникли другие проблемы, вашим первым шагом должно быть использование mongostat для проверки состояния MongoDB.
Запустите службу mongod, перейдите в каталог bin в каталоге MongoDB, который вы установили, и затем введите команду mongostat, как показано ниже:
D:\set up\mongodb\bin>mongostat
Вывод вышеуказанной команды выглядит следующим образом:
команда mongotop
mongotop также является встроенным инструментом MongoDB. mongotop предоставляет способ отслеживать экземпляр MongoDB и видеть, сколько времени тратится на чтение и запись данных. mongotop предоставляет статистику на уровне каждой коллекции. По умолчанию mongotop возвращает данные каждую секунду.
Запустите службу mongod, перейдите в каталог bin в каталоге MongoDB, который вы установили, и затем введите команду mongotop, как показано ниже:
D:\set up\mongodb\bin>mongotop
Вывод выполнения вышеуказанной команды выглядит следующим образом:
Пример с параметрами
E:\mongodb-win32-x86_64-2.2.1\bin>mongotop 10
Число 10 после него — это<sleeptime>параметр, который можно опустить. Это промежуток времени в секундах, который mongotop ждёт между вызовами. По умолчанию mongotop возвращает данные каждую секунду.
E:\mongodb-win32-x86_64-2.2.1\bin>mongotop --locks
Чтобы отобразить использование блокировок каждой базой данных, используйте mongotop --locks, что даст следующий вывод:
Описание полей вывода:
-
ns:
Содержит пространство имён базы данных, которое объединяет имя базы данных и коллекцию.
db:
Содержит имя базы данных. База данных с именем . предназначена для глобальной блокировки, а не для конкретной базы данных.
total:
Предоставляет общее количество времени, которое mongod потратил на работу в этом пространстве имён.
read:
Предоставляет количество времени, которое mongod потратил на выполнение операций чтения в этом пространстве имён.
write:
Показывает количество времени, которое mongod потратил на выполнение операций записи в этом пространстве имен.