Получение QuotaExceededException - Каковы ограничения квоты операций для центров уведомлений Azure?
Я проводил некоторое тестирование задержки / производительности для отправки push-уведомлений с помощью Azure Notification Hub, последовательно отправляя множество уведомлений в цикле foreach. Он работал нормально для 100 запросов "SendNotification", хотя это было относительно медленно (14 с), но я получил QuotaExceededException
на 1000 запросов подряд:
[QuotaExceededException: удаленный сервер возвратил ошибку: (403) Запрещено. Запрос был прерван, потому что выполняется проверка pushnotification пространства имен. Пожалуйста, подождите 60 секунд и попробуйте снова. Идентификатор для отслеживания:...
Даже если я не жду 60 секунд, как рекомендовано, я снова могу выполнить 100 последовательных запросов, но 1000 запросов подряд всегда терпят неудачу... Все, что чуть больше 100 последовательных запросов, в большинстве случаев терпит неудачу...
Я не смог найти документацию по этим ограничениям. Это должно быть где-то задокументировано, поэтому я могу быть уверен, что концентраторы уведомлений Azure будут соответствовать моим потребностям.
Ответ на этот вопрос говорит
Существует ограничение скорости работы CRUD. Квоты зависят от того, где вы находитесь, но в любом случае это не будет менее 2000 операций в минуту на пространство имен. Если квота превышена, сервис возвращает 403.
Для меня это, кажется, менее 2000 операций. Кстати, я использую уровень "БЕСПЛАТНО" для тестирования, но я думаю, что мы переключимся на "СТАНДАРТ" для производства.
Кто-нибудь похожий опыт или знает, где искать дополнительную информацию?
В частности, каковы ограничения квоты операций для таймфрейма для разных уровней узлов уведомлений Azure?
ОБНОВЛЕНИЕ 1: Это странно, но я отправляю 1000 запросов параллельно, большую часть времени работает, но последовательно происходит сбой на 101-м запросе.
1 ответ
Насколько мне известно, сейчас NH имеет следующие ограничения на количество сообщений SENDS (не регистраций) на пространство имен в минуту на машину NH:
Свободная шина: 100 Базовая шина: 900 Стандартная шина: 11500
Массивная параллельная отправка позволяет отправлять больше, потому что вызовы, скорее всего, будут маршрутизироваться на разных машинах.