Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Managed Service for MongoDB
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к базе данных
    • Остановка и запуск кластера
    • Изменение настроек кластера и базы данных
    • Переключение первичной реплики
    • Обновление версии MongoDB
    • Управление базами данных
    • Управление хостами кластера
    • Управление пользователями БД
    • Управление резервными копиями
    • Управление шардами
    • Удаление кластера
    • Мониторинг состояния кластера и хостов
    • Диагностика производительности
    • Инструменты для анализа производительности
  • Практические руководства
    • Шардирование коллекций
    • Миграция данных в Managed Service for MongoDB
    • Перенос коллекций из MongoDB в Managed Service for MongoDB
    • Анализ производительности и оптимизация
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Классы хостов
      • Действующие классы хостов
      • Архив
        • До 1 июня 2020 года
      • Использование устаревших классов хостов
    • Сеть в Managed Service for MongoDB
    • Квоты и лимиты
    • Хранилище в Managed Service for MongoDB
    • Резервные копии
    • Репликация
    • Шардирование
    • Пользователи и роли
    • Техническое обслуживание
    • Поддерживаемые клиенты
    • Настройки MongoDB
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта 2019 года до 1 февраля 2020 года
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • BackupService
      • ClusterService
      • DatabaseService
      • ResourcePresetService
      • UserService
      • OperationService
    • REST (англ.)
      • Overview
      • Backup
        • Overview
        • delete
        • get
        • list
      • Cluster
        • Overview
        • addHosts
        • addShard
        • backup
        • create
        • delete
        • deleteHosts
        • deleteShard
        • enableSharding
        • get
        • getShard
        • list
        • listBackups
        • listHosts
        • listLogs
        • listOperations
        • listShards
        • move
        • rescheduleMaintenance
        • resetupHosts
        • restartHosts
        • restore
        • start
        • stepdownHosts
        • stop
        • streamLogs
        • update
      • Database
        • Overview
        • create
        • delete
        • get
        • list
      • ResourcePreset
        • Overview
        • get
        • list
      • User
        • Overview
        • create
        • delete
        • get
        • grantPermission
        • list
        • revokePermission
        • update
      • Operation
        • Overview
        • get
  • История изменений
  • Вопросы и ответы
    • Общие вопросы
    • Вопросы о MongoDB
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Инструменты для анализа производительности

Инструменты для анализа производительности

Статья создана
Yandex.Cloud
  • Встроенные утилиты диагностики
    • Профилировщик
    • Выполняемые в данный момент запросы
  • Логи

Встроенные утилиты диагностики

В MongoDB есть утилиты получения данных о производительности:

  • mongostat — собирает статистику утилизации ресурсов CPU и памяти процессами MongoDB,
  • mongotop — собирает статистику чтения/записи данных по каждой коллекции.

При вызове этих утилит используйте строку подключения с логином и паролем пользователя с ролью mdbMonitor, например:

mongostat 5 --uri="mongodb://{имя_пользователя_с ролью_mdbMonitor}:{пароль}@{хост}:27018/?authSource=admin"
mongotop 5 --uri="mongodb://{имя_пользователя_с ролью_mdbMonitor}:{пароль}@{хост}:27018/?authSource=admin"

Здесь обе утилиты выводят набор данных о производительности c интервалом опроса (polling interval) в 5 секунд.

Подробнее об использовании утилит monostat и mongotop см. в документации MongoDB.

Профилировщик

В MongoDB есть встроенный профилировщик. Он собирает данные о запросах. Затем на основе этих данных формируется стратегия оптимизации запросов. Работой профилировщика управляют настройки MongoDB, которые вы можете задать при создании кластера или изменении настроек СУБД:

  • operationProfiling.mode;
  • operationProfiling.slowOpThreshold.

Важно

Использование значения all для настройки operationProfiling.mode и близкого к 0 значения для настройки operationProfiling.slowOpThreshold значительно снижает производительность кластера.

Чтобы просмотреть данные, собранные профилировщиком, обратитесь к коллекции system.profile в каждой БД. Коллекции профилировщика доступны для чтения пользователю с ролью mdbMonitor. По умолчанию данные дублируются в логах.

Подробнее о настройке профилировщика и о том, как интерпретировать его результаты, читайте в документации MongoDB.

Выполняемые в данный момент запросы

Чтобы посмотреть не относящиеся к текущему пользователю запросы, от имени пользователя с ролью mdbMonitor выполните операцию db.currentOp():

db.currentOp()

Чтобы посмотреть запросы текущего пользователя, выполните операцию db.currentOp() со значением true для настройки ownOps:

db.currentOp({ "$ownOps": true })

Логи

Наиболее подробная информация о работе MongoDB содержится в логах.

Консоль управления
CLI
API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.
  2. Нажмите на имя нужного кластера и выберите вкладку Логи.

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы посмотреть логи Managed Service for MongoDB:

  1. Посмотрите описание команды CLI для просмотра логов:

    yc managed-mongodb cluster list-logs --help
    
  2. Для получения всех логов кластера выполните команду:

    yc managed-mongodb cluster list-logs --id <идентификатор кластера>
    

    Идентификатор кластера можно получить со списком кластеров в каталоге.

Воспользуйтесь методом API listLogs и передайте идентификатор кластера в параметре clusterId запроса.

Идентификатор кластера можно получить со списком кластеров в каталоге.

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Встроенные утилиты диагностики
  • Профилировщик
  • Выполняемые в данный момент запросы
  • Логи