Обзор
У меня есть процесс регистрации / регистрации пользователей, который я в настоящее время пытаюсь оптимизировать и лучше понять, прежде чем перейти к гораздо большим нагрузочным тестам.
Сборник тестов: (500 RU)
PartitionKey: tenant_email
Multi-Master: 5 регионов
Ниже находится единичный регионстатистика по базе данных только с одним регионом.
- Шаг 1 - Зарегистрировать нового пользователя (10.17 RU)
- Шаг 2 - Обновитьнекоторые данные (3,4 RU)
- Шаг 3 - Создание подписки (13,23 RU)
- Шаг 4 - Обновление некоторых данных (3,43 RU)
- Шаг 4 - обновить некоторые данные (3,43 RU)
- Шаг 5 - обновить некоторые данные (3,83 RU)
- Шаг 6 - Обновить токен доступа (3.13RU)
- Итого: ~ 40,5 RU на борт
Проблема
Ожидаемая пропускная способность: ~ 12 регистраций (84req /с)
Фактическая пропускная способность: Тяжелое ограничение скорости ~ 3 регистрации в секунду (21 рег / сек).На ~ 40RU кажется, что я получаю только 120RU от 500?
Распределение памяти ниже, а параметр partitionKey должен быть достаточно уникальным, чтобы равномерно распределять нагрузку по коллекции для максимизации пропускной способности?не знаю, почему значение Max Consumed RU / s такое высокое.
Распределение хранилища для коллекции и выбранного ключа partitionKey выглядит равномерно распределенным.
Обновление - при недостаточном использовании
Вот снимок экрана, показывающий коллекцию с одним разделом 500 RU.Из этого ясно видно, что максимальное потребляемое количество RU на раздел все время находилось на уровне ~ 350, но мы замечаем жесткое ограничение скорости, даже если мы никогда не достигаем 500 RU / с.