Предотвращение ошибок ограничения частоты при работе для Azure Cosmos DB и операциями MongoDB.
Область применения: MongoDB
Операции Azure Cosmos DB для MongoDB могут столкнуться с ограничением скорости, что приводит к ошибкам 16500 в метриках запросов mongo, если они превышают предел пропускной способности коллекции (ЕЗ).
Включите повторную попытку на стороне сервера (SSR) для автоматизации повторных попыток операции. SSR повторяет запросы во всех коллекциях в вашей учетной записи с короткими задержками. Если достигнуто 60-секундное время ожидания, клиент получает исключение ExceededTimeLimit (50).
Использование портала Azure
Войдите на портал Azure.
Перейдите к учетной записи Azure Cosmos DB для MongoDB.
Перейдите в область Компоненты в разделе Параметры.
Выберите Повтор на стороне сервера.
Нажмите кнопку Включить, чтобы включить эту функцию для всех коллекций в вашей учетной записи.
Использование командной строки Azure CLI
Убедитесь, что функция SSR для вашей учетной записи включена:
az cosmosdb show --name accountname --resource-group resourcegroupname
Включите SSR для всех коллекций в вашей учетной записи базы данных. Применение изменений может занять до 15 минут.
az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo DisableRateLimitingResponses
Следующая команда отключит SSR для всех коллекций в учетной записи базы данных, удалив значение
DisableRateLimitingResponses
из списка функций. Применение изменений может занять до 15 минут.az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo
Часто задаваемые вопросы
Как можно отслеживать работу SSR?
Вы можете искать записи журнала, содержащие предполагаемые DelayFromRateLimitingInMilliseconds в журналах ресурсов Azure Cosmos DB.
Будет ли функция SSR влиять на уровень согласованности?
SSR не влияет на согласованность запросов. Запросы извлекаются на стороне сервера, если они ограничены.
Влияет ли SSR на все типы ошибок, которые могут возникать на клиенте?
Нет, повторная попытка на стороне сервера влияет только на ограничения скорости, повторив их на стороне сервера. Эта функция избавляет от необходимости обработки ошибок ограничения частоты в клиентском приложении. Все остальные ошибки будут отправлены на клиент.
Следующие шаги
Дополнительные сведения об устранении распространенных ошибок см. в этой статье:
Если вы планируете ресурсы для миграции в Azure Cosmos DB, Для планирования ресурсов можно использовать сведения об имеющемся кластере базы данных.
- Сведения о распространении пропускной способности между секциями см. в статье о том, как распространять пропускную способность между секциями.
- Если вам известно только количество виртуальных ядер и серверов в существующем кластере баз данных, прочитайте об оценке единиц запроса на основе этих данных.
- Если вам известна стандартная частота запросов для текущей рабочей нагрузки базы данных, ознакомьтесь со статьей о расчете единиц запросов с помощью планировщика ресурсов Azure Cosmos DB