Поиск платы за единицу запроса для операций, выполняемых в Azure Cosmos DB для MongoDB
Область применения: MongoDB
Azure Cosmos DB поддерживает многие интерфейсы API, такие как SQL, MongoDB, Cassandra, Gremlin и Таблицы. У каждого API есть собственный набор операций базы данных, начиная от простого считывания и записи точек и заканчивая сложными запросами. Каждая операция базы данных потребляет системные ресурсы. Потребление зависит от сложности операции.
Стоимость всех операций базы данных нормализуется с помощью Azure Cosmos DB и выражается в единицах запроса (ЕЗ). Расходы на запросы выражаются в единицах запроса, потребленных всеми операциями базы данных. ЕЗ можно считать единицей производительности, которая абстрагирует системные ресурсы (например, ЦП, операции ввода-вывода в секунду и память), необходимые для выполнения операций базы данных, поддерживаемых Azure Cosmos DB. Независимо от того, какие API вы используете для взаимодействия с контейнером Azure Cosmos DB, затраты всегда измеряются в ЕЗ. Независимо от типа операции базы данных (запись, чтение или запрос), затраты всегда измеряются в ЕЗ. Дополнительные сведения см. в статье Единицы запросов и рекомендации.
В этой статье представлены различные способы поиска потребления единиц запросов (ЕЗ) для любой операции, выполняемой в контейнере в Azure Cosmos DB для MongoDB. Если вы используете другой API, ознакомьтесь с API для NoSQL, API для Cassandra, API для Gremlin и API для таблиц, чтобы найти плату за единицу ввода-адреса.
Плата за единицу запросов предоставляется пользовательской командой базы данных с именем getLastRequestStatistics
. Эта команда возвращает документ, содержащий имя последней выполненной операции, ее длительность и количество затраченных ЕЗ. Если вы используете Azure Cosmos DB для MongoDB, у вас есть несколько вариантов получения платы за единицу запросов.
Использование портала Azure
Войдите на портал Azure.
Создайте новую учетную запись Azure Cosmos DB и введите ее с данными или выберите существующую учетную запись , которая уже содержит данные.
Перейдите на панель обозревателя данных и выберите контейнер, с которым собираетесь работать.
Щелкните ... рядом с именем контейнера и выберите Новый запрос.
Введите допустимый запрос и щелкните Выполнить запрос.
Выберите Статистика запросов, чтобы отобразилось количество ЕЗ, фактически затраченных на выполненный запрос. Этот редактор запросов позволяет выполнять запросы и узнавать расходы в ЕЗ только для предикатов запросов. В этом редакторе нельзя выполнять команды для обработки данных, например с операторами вставки.
Чтобы узнать расходы на запрос для команд обработки данных, выполните команду
getLastRequestStatistics
в пользовательском интерфейсе оболочки, например в оболочке Mongo, Robo 3T, MongoDB Compass или в расширении VS Code со скриптами оболочки.db.runCommand({getLastRequestStatistics: 1})
Программным способом
При использовании оболочки Mongo можно выполнять команды с помощью runCommand().
db.runCommand('getLastRequestStatistics')
Следующие шаги
Сведения об оптимизации потребления ЕЗ см. в следующих статьях:
- Пропускная способность и единицы запросов в Azure Cosmos DB
- Optimize provisioned throughput cost in Azure Cosmos DB (Оптимизация стоимости подготовленной пропускной способности в Azure Cosmos DB)
- Optimize query cost in Azure Cosmos DB (Оптимизация затрат на отправку запросов в Azure Cosmos DB)
- Если вы планируете ресурсы для миграции в Azure Cosmos DB, Для планирования ресурсов можно использовать сведения об имеющемся кластере базы данных.
- Если вам известно только количество виртуальных ядер и серверов в существующем кластере баз данных, см. сведения об оценке единиц запросов на основе виртуальных ядер и серверов.
- Если вам известна стандартная частота запросов для текущей рабочей нагрузки базы данных, ознакомьтесь со статьей о расчете единиц запросов с помощью планировщика ресурсов Azure Cosmos DB