Автомасштабирование для Azure API для FHIR

Azure API для FHIR, как управляемая служба, позволяет клиентам сохранять данные здравоохранения, совместимые с fast healthcare Interoperability Resources (FHIR®), и безопасно обмениваться ими через API службы. Для выполнения различных рабочих нагрузок транзакций клиенты могут использовать масштабирование вручную или автомасштабирование.

Azure API для FHIR предоставляет возможности масштабирования на уровне базы данных и вычислений.

Автоматическое масштабирование на уровне базы данных

По умолчанию azure API для FHIR имеет значение manual для масштабирования базы данных. Этот параметр хорошо работает, если рабочие нагрузки транзакций известны и согласованы. Клиенты могут настроить пропускную способность RU/s на портале до 100 000 и отправить запрос на увеличение ограничения.

Функция автомасштабирования предназначена для автоматического масштабирования ресурсов Azure, включая пропускную способность базы данных, в соответствии с рабочими нагрузками, устраняя возможные узкие места на уровне данных.

В следующих разделах описано, как включить автомасштабирование на уровне базы данных.

Руководство по включению автомасштабирования

Как правило, клиенты должны рассмотреть возможность автомасштабирования, когда их рабочие нагрузки значительно различаются и являются непредсказуемыми.

Чтобы включить функцию автомасштабирования, клиенту необходимо создать одноразовый запрос в службу поддержки, чтобы запросить его через портал Azure. Группа поддержки Майкрософт включает функцию автомасштабирования на основе приоритета поддержки.

Примечание

Функция автомасштабирования недоступна в портал Azure.

Автомасштабирование для ЕЗ/с

Если автомасштабирование включено, система вычисляет и задает начальное Tmax значение. Масштабируемость определяется максимальным значением пропускной способности RU/s или Tmaxи масштабируется в диапазоне от 0.1 *Tmax (или 10 % ) Tmaxдо Tmax RU/s. Увеличивается Tmax автоматически по мере увеличения общего размера данных. Чтобы обеспечить максимальную масштабируемость, Tmax значение должно быть сохранено как есть. Однако клиенты могут запросить, чтобы значение было изменено на значение от 10 % до 100 % от Tmax значения.

Вы можете увеличить максимальное RU/s значение или Tmax максимальное значение и перейти на тот же уровень, насколько поддерживает служба. Когда служба занята, пропускная способность RU/s масштабируется до Tmax значения . Когда служба простаит, пропускная способность RU/s масштабируется до 10 %. Tmax

Можно также уменьшить максимальное RU/s значение или Tmax значение. При снижении максимального значения RU/sминимальное значение, которое можно задать для него: MAX (4000, highest max RU/s ever provisioned / 10, current storage in GB * 400), округленное до ближайшего значения 1000 RU/s.

  • Пример 1. У вас есть 1 ГБ данных, а самый высокий RU/s подготовленный — 10 000. Минимальное значение — Max (4000, 10 000/10, 1x400) = 4000. Используется первое число 4000.
  • Пример 2. У вас есть 20 ГБ данных, а самый высокий подготовленный RU/s — 100 000. Минимальное значение — Max (4000, 100 000/10, 20x400) = 10 000. Используется второе число 100 000/10 =10 000.
  • Пример 3. У вас есть 80 ГБ данных, а наибольшее подготовленное количество единиц запросов в секунду составляет 300 000. Минимальное значение — Max (4000, 300 000/10, 80x400) = 32 000. Используется третье число 80x400=32 000.

Максимальное RU/s или Tmax значение можно настроить на портале, если это допустимое число и не больше 100 000 RU/s. Вы можете создать запрос в службу поддержки, чтобы запросить Tmax значение больше 100 000.

Примечание

По мере роста хранилища данных система автоматически увеличивает максимальную пропускную способность до следующего наибольшего количества единиц запросов в секунду, которые могут поддерживать этот уровень хранилища.

Автомасштабирование на уровне вычислений

Политики автомасштабирования, определенные для уровня вычислений службы FHIR, состоят из следующих компонентов:

  • Триггер масштабирования

Триггер масштабирования описывает, когда будет выполняться масштабирование службы. Условия, определенные в триггере, периодически проверяются, чтобы определить, нужно ли масштабировать службу. В настоящее время поддерживаются все триггеры: среднее значение ЦП, максимальное число рабочих потоков, среднее значение LogWrite, среднее число операций ввода-вывода данных.

  • Механизм масштабирования

Механизм масштабирования применяется, если проверка триггера определяет необходимость масштабирования. Кроме того, триггер масштабирования не будет оцениваться повторно, пока не истечет интервал масштабирования, равный одной минуте для Azure API для FHIR.

Чтобы обеспечить наилучший результат, мы рекомендуем клиентам постепенно увеличивать частоту запросов в соответствии с ожидаемой скоростью отправки, а не отправлять все запросы одновременно.

Вопросы и ответы

Как оценить требуемую пропускную способность ЕЗ/с?

Размер данных является одним из нескольких факторов, используемых при вычислении общей пропускной способности ЕЗ/с, необходимой для ручного масштабирования и автомасштабирования. Размер данных можно найти в меню Метрики в разделе Мониторинг. Начните новую диаграмму и выберите Cosmos DB Collection Size (Размер коллекции Cosmos DB ) в раскрывающемся списке Метрика и Max (Максимальное значение) в поле "Агрегирование".

Снимок экрана: metrics_new_chart

Вы увидите максимальный размер сбора данных за выбранный период времени. При необходимости измените значение "Диапазон времени", например с "Последние 30 минут" на "Последние 48 часов".

Снимок экрана: cosmosdb_collection_size

Используйте формулу для вычисления необходимых единиц запросов в секунду.

  • Масштабирование вручную: объем хранилища в ГБ * 40
  • Автомасштабирование: хранилище в ГБ * 400

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

Я включил автомасштабирование, как перейти на масштабирование вручную?

Запрос в службу поддержки требуется для изменения автомасштабирования на масштабирование вручную и указания пропускной способности ЕЗ/с. Минимальное значение для ручного масштабирования MAX (400, highest max RU/s ever provisioned / 100, current storage in GB * 40): , округленное до ближайшего 1000 RU/s. Используемые здесь числа отличаются от тех, которые используются при автомасштабировании.

После завершения изменения новые тарифы для выставления счетов основаны на масштабировании вручную.

Как автомасштабирование влияет на затраты?

Функция автомасштабирования несет затраты из-за автоматического управления подготовленными единицами пропускной способности. Фактические затраты зависят от почасового использования, но имейте в виду, что минимальные затраты на зарезервированную пропускную способность ЕЗ/с составят 10 %.Tmax Однако это увеличение затрат не относится к затратам на хранение и среду выполнения. Сведения о ценах см. в статье Цены на Azure API для FHIR.

Дальнейшие действия

В этом документе вы узнали о функции автомасштабирования для Azure API для FHIR. Общие сведения об Azure API для FHIR см. в статье.

FHIR® является зарегистрированным товарным знаком HL7 и используется с разрешения HL7.