Уровень бессерверных вычислений для Базы данных SQL Azure
Применимо к: База данных SQL Azure
Бессерверный — это уровень вычислений для отдельных баз данных в базе данных Azure SQL, который автоматически масштабирует вычислительные мощности на основе спроса на рабочую нагрузку и выставляет счета за объем вычислительных ресурсов, используемых в секунду. Уровень бессерверных вычислений также автоматически приостанавливает базы данных в периоды отсутствия активности, когда оплачивается только хранилище, и автоматически возобновляет работу баз данных, когда активность восстанавливается. Уровень бессерверных вычислений доступен на уровне услуг общего назначения и на уровне услуг гипермасштабируемости.
Примечание.
Автоматическая приостановка и автоматическое возобновление в настоящее время поддерживаются только на уровне служб общего назначения.
Обзор
Диапазон автомасштабирования вычислений и задержка автоматической приостановки являются важными параметрами для бессерверного уровня вычислений. Конфигурация этих параметров определяет производительность базы данных и стоимость вычислений.
```plaintext
Диаграмма, показывающая, когда бессерверная схема выставления счетов перестанет начислять вычислительные расходы из-за неактивности.
```
Настройка производительности
- минимальное число виртуальных ядер и максимальное число виртуальных ядер — это настраиваемые параметры, которые определяют диапазон доступных вычислений для базы данных. Ограничения памяти и операций ввода-вывода пропорциональны указанному диапазону виртуальных ядер.
- Задержка автоматической приостановки — это настраиваемый параметр, определяющий период времени, в течение которого база данных должна быть неактивной, прежде чем она будет автоматически приостановлена. База данных автоматически возобновляется при следующем входе или другом действии. Кроме того, автоматическую приостановку можно отключить.
Себестоимость
Стоимость пользования бессерверной базой данных включает плату за вычисления и хранение. Стоимость ресурсов хранения определяется так же, как и на уровне подготовленных вычислительных ресурсов.
- При использовании вычислений между минимальными и максимальными ограничениями затраты на вычисления основаны на виртуальных ядрах и используемой памяти.
- Если использование вычислений ниже минимальных ограничений, затраты на вычисления основаны на минимальных виртуальных ядрах и минимальной памяти.
- При приостановке базы данных стоимость вычислений будет равна нулю, вы оплачиваете только затраты на хранение.
Для получения более подробной информации о затратах см. раздел Выставление счетов.
Сценарии
Бессерверные решения, оптимизированные по критерию цена-производительность, предназначены для отдельных баз данных с прерывистым и непредсказуемым использованием, где допустима некоторая задержка перед запуском вычислительных мощностей после периодов простоя. В отличие от этого, предоставленный уровень вычислительных ресурсов оптимизирован для соотношения цены и производительности в случае с отдельными базами данных или несколькими базами данных в эластичных пулах с более высоким средним использованием, где недопустима задержка начала работы вычислительных ресурсов.
Оптимальные сценарии для бессерверных вычислений
- Отдельные базы данных с нестабильным и непредсказуемым использованием с периодами бездействия и более низким средним использованием вычислительных ресурсов.
- Отдельные базы данных в подготовленном вычислительном уровне, которые часто масштабируются, и клиенты, которые предпочитают поручить задачу масштабирования вычислительных ресурсов службе.
- Новые отдельные базы данных без истории использования, в которых сложно или невозможно заранее оценить размеры вычислений перед развертыванием в Azure SQL Database.
Сценарии, подходящие для подготовленных вычислительных ресурсов
- Отдельные базы данных с более равномерным, прогнозируемым использованием ресурсов и увеличенным средним объемом использования вычислительных ресурсов в долгосрочной перспективе.
- Базы данных, для которых недопустимо снижение производительности из-за частого ограничения ресурсов памяти или задержек автоматического возобновления работы из приостановленного состояния.
- Несколько баз данных с непостоянным и непрогнозируемым использованием, которые можно объединить в эластичные пулы для оптимизации соотношения затрат и производительности.
Сравнение уровней вычислений
В следующей таблице перечислены различия между уровнями бессерверных вычислений и подготовленных вычислений:
Бессерверные вычисления | Подготовленные вычисления | |
---|---|---|
Сценарий использования баз данных | Нерегулярное и плохо прогнозируемое использование с более низким средним уровнем загрузки вычислительных ресурсов в долгосрочной перспективе. | Более равномерное использование ресурсов, более высокий средний объем использования ресурсов в долгосрочной перспективе или множество баз данных, использующих эластичные пулы. |
Затраты на управление производительностью | Ниже | Выше |
Масштабирование вычислительных ресурсов | Автоматически | Руководство |
Отзывчивость вычислений | Низкая после периодов бездействия | Немедленно |
Детализация тарифов | в секунду. | В час |
Модель приобретения и уровень обслуживания
В следующей таблице описана бессерверная поддержка на основе модели приобретения, уровней служб и оборудования:
Категория | Поддерживается | Не поддерживаются |
---|---|---|
Модель приобретения | vCore | DTU |
Уровень служб | Общего назначения Гипермасштаб |
Критически важный для бизнеса |
Оборудование | Серия Standard (5-е поколение) | Все другое оборудование |
Автомасштабирование
Скорость масштабирования
Бессерверные базы данных выполняются на компьютере с достаточной емкостью для удовлетворения спроса на ресурсы без прерывания для любого объема вычислительных ресурсов, в пределах ограничений, установленных максимальным значением виртуальных ядер. В некоторых случаях автоматически выполняется балансировка нагрузки, если компьютер не может удовлетворить потребность в ресурсах в течение нескольких минут. Например, если спрос на ресурсы равен 4 виртуальным ядрам, но доступны только 2 виртуальных ядра, то это может занять несколько минут до предоставления 4 виртуальных ядер. База данных остается доступной по сети во время балансировки нагрузки, кроме непродолжительного периода в конце операции, когда подключение прерывается.
Управление памятью
В уровнях служб общего назначения и гипермасштабирования память для бессерверных баз данных часто освобождается, чем для подготовленных вычислительных баз данных. Это важно для контроля над затратами при бессерверных вычислениях и может влиять на производительность.
Освобождение кэша
В отличие от подготовленных вычислительных баз данных память из кэша SQL освобождается при использовании бессерверной базы данных при низком уровне использования ЦП и активного кэша.
- Использование активного кэша считается низким, если общий размер последних использованных записей кэша ниже порогового значения в течение определенного периода времени.
- При активации освобождения кэша целевой размер кэша постепенно уменьшается до доли от прошлого размера. Освобождение продолжается только в том случае, если уровень использования остается низким.
- В случае освобождения кэша политика выбора записей в кэше для удаления остается такой же, как и политика выбора для подготовленных вычислительных баз данных с интенсивным использованием ресурсов памяти.
- Размер кэша никогда не уменьшается ниже минимального ограничения памяти, как определено минимальными виртуальными ядрами.
В бессерверных и подготовленных вычислительных базах данных записи кэша можно вытеснить, если используется все доступные памяти.
При низком уровне использования ЦП уровень использования активного кэша может оставаться высоким в зависимости от шаблона использования и функции предотвращения освобождения памяти. Кроме того, после прекращения действий пользователя и до освобождения памяти могут возникать другие задержки из-за периодических фоновых процессов, реагирующих на предыдущие действия пользователя. Например, при выполнении операций удаления и заданий по очистке хранилища запросов создаются фантомные записи, которые помечаются для удаления, но физически не удаляются до тех пор, пока не будет запущен процесс очистки фантомных записей, Очистка призрака может включать чтение страниц данных в кэш.
Наполнение кэша
Кэш памяти SQL растет по мере получения данных с диска таким же образом и с той же скоростью, что и для подготовленных баз данных. Если база данных занята, кэш может увеличиваться без ограничений, пока есть доступная память.
Управление кэшем дисков
На уровне служб гипермасштабирования для бессерверных и выделенных видов вычислений каждая реплика вычислений использует кэш устойчивого буферного пула (RBPEX), в котором хранятся страницы данных на локальном SSD для повышения производительности операций ввода-вывода. Однако в бессерверном уровне вычислений для гипермасштабирования кэш RBPEX для каждой реплики вычислений автоматически увеличивается и уменьшается в ответ на увеличение и снижение спроса на рабочую нагрузку. Максимальный размер кэша RBPEX может увеличиваться в три раза больше памяти, настроенной для базы данных. Дополнительные сведения о максимальном объёме памяти и ограничениях автоматического масштабирования RBPEX в бессерверной архитектуре см. в разделе ограничения ресурсов гипермасштаба в бессерверной архитектуре.
Автоматическая пауза и возобновление
В настоящее время бессерверная автоматическая приостановка и автоматическое возобновление поддерживаются только на уровне общего назначения.
Автоматическая приостановка
Автоматическая приостановка включается, если во время задержки автоматической приостановки выполняются все следующие условия.
- Число сеансов — 0
- Ресурсы ЦП — 0 (для пользовательской рабочей нагрузки, выполняемой в пуле ресурсов пользователя).
При необходимости автоматическую приостановку можно отключить.
Следующие функции не поддерживают автоматическую приостановку, но поддерживают автоматическое масштабирование. Если используются какие-либо из следующих функций, автоматическое приостановка должна быть отключена, а база данных остается в сети независимо от длительности бездействия базы данных:
- Георепликация (активная георепликация и группы отказоустойчивости).
- Долгосрочное хранение резервных копий (LTR).
- База данных синхронизации, используемая в SQL Data Sync. В отличие от баз данных синхронизации, узловые и линейные базы данных поддерживают автоматическую приостановку.
- Псевдоним DNS, созданный для логического сервера, содержащего бессерверную базу данных.
- Эластичные задания, серверная база данных с включенной функцией автоматической паузы не поддерживается в качестве базы данных заданий. Бессерверные базы данных, предназначенные для эластичных заданий, поддерживают автоматическую приостановку. Связи с работой восстанавливают базу данных.
Автоматическая приостановка временно предотвращается во время развертывания определённых обновлений службы, для которых требуется включённая база данных. В таких случаях после завершения обновления службы автоматическая приостановка снова становится доступной.
Автоматическая приостановка устранения неполадок
Если включена автоматическая приостановка и функции, которые блокируют автоматическое приостановку, не используются, но база данных не приостанавливается после периода задержки, то сеансы приложений или пользователей могут препятствовать автоматическому приостановке.
Чтобы узнать, подключены ли сейчас к базе данных какие-либо приложения или сеансы пользователей, подключитесь к базе данных с помощью любого клиентского средства и выполните следующий запрос.
SELECT session_id,
host_name,
program_name,
client_interface_name,
login_name,
status,
login_time,
last_request_start_time,
last_request_end_time
FROM sys.dm_exec_sessions AS s
INNER JOIN sys.dm_resource_governor_workload_groups AS wg
ON s.group_id = wg.group_id
WHERE s.session_id <> @@SPID
AND
(
(
wg.name like 'UserPrimaryGroup.DB%'
AND
TRY_CAST(RIGHT(wg.name, LEN(wg.name) - LEN('UserPrimaryGroup.DB') - 2) AS int) = DB_ID()
)
OR
wg.name = 'DACGroup'
);
Совет
После выполнения запроса обязательно разорвите соединение с базой данных. В противном случае открытый сеанс, используемый запросом, предотвращает автоматическую приостановку.
- Если результирующий набор не является пустым, это указывает на то, что в настоящее время существуют сеансы, которые препятствуют автоматической паузе.
- Если результирующий набор пуст, то сеансы все равно могли быть открыты (возможно, в течение короткого промежутка времени) в какой-то момент периода задержки автоматической приостановки. Чтобы проверить активность в течение периода задержки, можно использовать аудирование для Azure SQL Database и Azure Synapse Analytics и изучить данные аудита в течение соответствующего периода.
Внимание
Наличие открытых сеансов как при одновременном использовании ЦП в пуле ресурсов пользователя, так и без такового является самой распространенной причиной, по которой автоматическая приостановка бессерверной базы данных не выполняется надлежащим образом.
Автоматическое возобновление
Автоматическое возобновление выполняется, если в любой момент времени соблюдается какое-либо из следующих условий:
Функция | Триггер автоматического возобновления |
---|---|
Аутентификация и авторизация | Вход |
Обнаружение угроз | Включение и отключение параметров обнаружения угроз на уровне базы данных или сервера. Изменение параметров обнаружения угроз на уровне базы данных или сервера. |
Обнаружение и классификация данных | Добавление, изменение, удаление или просмотр меток конфиденциальности. |
Аудит | Просмотр записей аудита. Обновление или просмотр политик аудита. |
Маскирование данных | Добавление, изменение, удаление или просмотр правил маскирования данных. |
Прозрачное шифрование данных | Просмотр состояния или статуса прозрачного шифрования данных |
Оценка уязвимостей | Сканирование, инициированное вручную, и периодические сканирования при включении |
Запросы к хранилищу данных (производительность) | Изменение или просмотр параметров хранилища запросов |
Рекомендации по повышению производительности | Просмотр или применение рекомендаций по производительности |
Автоматическая настройка | Применение и проверка рекомендаций по автоматической настройке, включая автоматическое индексирование |
Копирование базы данных | Создать базу данных как копию. Экспорт в BACPAC-файл. |
Синхронизация данных SQL | Синхронизация между центральной и рядовыми базами данных, которая запускается по настраиваемому расписанию или вручную. |
Изменение некоторых метаданных базы данных | Добавление новых тегов базы данных. Изменение максимального количества виртуальных ядер, минимального количества виртуальных ядер или задержки автоматической приостановки. |
SQL Server Management Studio (SSMS) | При использовании версий SSMS до версии 18.1 и открытии нового окна запроса для любой базы данных на сервере возобновляется автоматически приостановленная база данных на том же сервере. При использовании SSMS версии 18.1 или выше такое поведение не происходит. |
Мониторинг, управление или другие решения, выполняющие любую из этих операций, активируют автоматическое возобновление. Автоматическое возобновление запускается также при развертывании некоторых обновлений служб, которым требуется, чтобы база данных была подключенной.
Подключение
Если бессерверная база данных приостановлена, первая попытка подключения возобновляет базу данных и возвращает ошибку, указывающую, что база данных недоступна с кодом ошибки 40613. После возобновления работы базы данных повторите вход, чтобы установить подключение. Клиенты базы данных, следующие рекомендациям по логике повторных попыток подключения, не должны быть изменены. Параметры и рекомендации по логике повторных попыток подключения см. в следующей статье:
- Логика повторных попыток подключения в SqlClient
- Логика повторных попыток подключения в базе данных SQL с использованием Entity Framework Core.
- Логика повторных попыток подключения в базе данных SQL с помощью Entity Framework 6
- Логика повторных попыток подключения в База данных SQL с помощью ADO.NET
Задержка
Задержка для автоматического возобновления и приостановки бессерверной базы данных обычно составляет примерно 1 минуту для возобновления и 1–10 минут для приостановки после окончания периода задержки.
Прозрачное шифрование данных, управляемое клиентом (BYOK)
Удаление ключей или отзыв
Если используется управляемое клиентом прозрачное шифрование данных (BYOK), и бессерверная база данных автоматически переходит в состояние приостановки при удалении или отзыве ключа, то база данных остается в режиме автоматической приостановки. В этом случае после возобновления работы базы данных она становится недоступной в течение примерно 10 минут. Как только база данных становится недоступной, процедуру восстановления можно выполнить так же, как для подготовленных вычислительных баз данных. Если бессерверная база данных находится в режиме онлайн во время удаления или отзыва ключа, то она также становится недоступной в течение примерно 10 минут, так же, как в случае с выделенными вычислительными базами данных.
Ротация ключей
Если используется прозрачное шифрование данных, управляемое клиентом, (BYOK), а бессерверная автоматическая приостановка включена, база данных автоматически возобновляется при смене ключей. Затем база данных будет автоматически приостановлена при выполнении условий автоматической приостановки.
Создание бессерверной базы данных
Создание новой базы данных или перемещение существующей базы данных на уровень бессерверных вычислений выполняется аналогично созданию новой базы данных на уровне подготовленных вычислений. Этот процесс включает два этапа:
Определение цели службы. Цель службы определяет уровень служб, конфигурацию оборудования и максимальные виртуальные ядра. Для вариантов цели обслуживания см. ограничения бессерверных ресурсов
При необходимости укажите минимальные виртуальные ядра и задержку автопаузы, чтобы изменить их значения по умолчанию. В таблице ниже показаны доступные значения для этих параметров.
Параметр Варианты значений Значение по умолчанию Минимальные виртуальные ядра Зависит от настройки максимального количества виртуальных ядров — см. ограничения ресурсов. 0,5 виртуальных процессоров Задержка автоматической приостановки Минимум: 15 минут
Максимум: 10 080 минут (семь дней)
Шаг увеличения: 1 минута
Отключение автоматической приостановки: -160 минут
В следующих примерах создается новая база данных на уровне бессерверных вычислений.
Использование портала Azure
См. Краткое руководство: Создание базы данных в Azure SQL Database с помощью портала Azure.
С помощью PowerShell
- Общего назначения
- Гипермасштаб
Создайте новую бессерверную базу данных общего назначения с помощью следующего примера PowerShell:
New-AzSqlDatabase -ResourceGroupName $resourceGroupName -ServerName $serverName -DatabaseName $databaseName `
-Edition GeneralPurpose -ComputeModel Serverless -ComputeGeneration Gen5 `
-MinVcore 0.5 -MaxVcore 2 -AutoPauseDelayInMinutes 720
Использование Azure CLI
- Общего назначения
- Гипермасштаб
Создайте новую бессерверную базу данных общего назначения с помощью следующего примера Azure CLI:
az sql db create -g $resourceGroupName -s $serverName -n $databaseName `
-e GeneralPurpose --compute-model Serverless -f Gen5 `
--min-capacity 0.5 -c 2 --auto-pause-delay 720
Использование Transact-SQL (T-SQL)
При использовании T-SQL для создания новой бессерверной базы данных значения по умолчанию применяются для минимальных виртуальных ядер и автоматической приостановки задержки. Их значения можно изменить на портале Azure или через API, включая PowerShell, Azure CLI и REST.
Дополнительные сведения см. в СОЗДАНИЕ БАЗЫ ДАННЫХ.
- Общего назначения
- Гиперскейл
Создайте новую бессерверную базу данных общего назначения с помощью следующего примера T-SQL:
CREATE DATABASE testdb
( EDITION = 'GeneralPurpose', SERVICE_OBJECTIVE = 'GP_S_Gen5_1' ) ;
Перемещение базы данных между уровнями вычислений или уровнями служб
Базу данных можно переместить между подготовленным уровнем вычислений и бессерверным уровнем вычислений.
Бессерверную базу данных также можно переместить с уровня служб общего назначения на уровень служб "Гипермасштабирование". Обзор Управление базами данных Hyperscale, чтобы узнать больше.
При перемещении базы данных между уровнями вычислительных ресурсов укажите параметр compute model либо как Serverless
, либо как Provisioned
при использовании PowerShell или Azure CLI, либо параметр SERVICE_OBJECTIVE при использовании T-SQL. Просмотрите ограничения ресурсов, чтобы определить соответствующий целевой показатель обслуживания.
В следующих примерах существующая база данных перемещается из выделенных ресурсов в бессерверные вычисления.
С помощью PowerShell
- Общего назначения
- Hyperscale
Переместите подготовленную базу данных общего назначения вычислений на бессерверный уровень вычислений с помощью следующего примера PowerShell:
Set-AzSqlDatabase -ResourceGroupName $resourceGroupName -ServerName $serverName -DatabaseName $databaseName `
-Edition GeneralPurpose -ComputeModel Serverless -ComputeGeneration Gen5 `
-MinVcore 1 -MaxVcore 4 -AutoPauseDelayInMinutes 1440
Использование Azure CLI
- Общего назначения
- Гипермасштабирование
Переместите подготовленную базу данных общего назначения вычислений на бессерверный уровень вычислений с помощью следующего примера Azure CLI:
az sql db update -g $resourceGroupName -s $serverName -n $databaseName `
--edition GeneralPurpose --compute-model Serverless --family Gen5 `
--min-capacity 1 --capacity 4 --auto-pause-delay 1440
Использование Transact-SQL (T-SQL)
При использовании T-SQL для перемещения базы данных между вычислительными уровнями значения по умолчанию применяются для минимальных виртуальных ядер и задержки автоматической паузы. Их значения можно изменить из портала Azure или с помощью API, включая PowerShell, Azure CLI и REST. Для получения дополнительной информации см. ALTER DATABASE.
- Общего назначения
- Гипермасштаб
Переместите подготовленную базу данных общего назначения вычислений на бессерверный уровень вычислений с помощью следующего примера T-SQL:
ALTER DATABASE testdb
MODIFY ( SERVICE_OBJECTIVE = 'GP_S_Gen5_1') ;
Изменение бессерверной конфигурации
С помощью PowerShell
Используйте Set-AzSqlDatabase для изменения максимального или минимального количества виртуальных ядер и задержки автопаузы. Используйте аргументы MaxVcore
, MinVcore
и AutoPauseDelayInMinutes
. Бессерверная автоматическая приостановка в настоящее время не поддерживается на уровне гипермасштабирования, поэтому аргумент задержки автоматической приостановки применим только к уровню общего назначения.
Использование Azure CLI
Используйте az sql db update для изменения максимального или минимального количества виртуальных ядер и задержки автоматической приостановки. Используйте аргументы capacity
, min-capacity
и auto-pause-delay
. Бессерверная автоматическая приостановка в настоящее время не поддерживается на уровне гипермасштабирования, поэтому аргумент задержки автоматической приостановки применим только к уровню общего назначения.
Монитор
Используемые и тарифицируемые ресурсы
Ресурсы бессерверной базы данных включают сущности пула ресурсов приложений, экземпляра SQL и пула ресурсов пользователей.
Пакет приложения
Пакет приложения представляет внешнюю границу управления для большинства ресурсов базы данных, независимо от того, на каком уровне находится база данных (бессерверные или подготовленные вычисления). Пакет приложения содержит экземпляр SQL и внешние службы (например, полнотекстовый поиск), которые вместе определяют область применения всех пользовательских и системных ресурсов, используемых базой данных в Базе данных SQL. Экземпляр SQL обычно управляет общим использованием ресурсов в пакете приложения.
Пул пользовательских ресурсов
Пул пользовательских ресурсов представляет внутреннюю границу управления для ресурсов базы данных независимо от того, на каком уровне находится база данных (бессерверные или подготовленные вычисления). Пул ресурсов пользователей ограничивает ЦП и операции ввода-вывода для нагрузки пользователя, создаваемой запросами DDL (CREATE и ALTER) и DML (INSERT, UPDATE, DELETE, MERGE и SELECT). Эти запросы обычно представляют самые распространенные операции, потребляющие ресурсы в пакете приложения.
Метрики
В следующей таблице содержатся показатели для мониторинга использования ресурсов пакета приложений и пула пользовательских ресурсов бессерверной базы данных, включая любые геореплики:
Объект | Метрика | Описание | единицы |
---|---|---|---|
Пакет приложения | процент_использования_cpu_приложения | Процент виртуальных ядер, используемых приложением относительно максимального количества виртуальных ядер, разрешенных для приложения. Для бессерверного гипермасштабирования эта метрика предоставляется для всех основных реплик, именованных реплик и геореплик. | Процентное отношение |
Пакет приложения | оплата за использование CPU в приложении | Объем вычислительных ресурсов, тарифицируемых для приложения в отчетный период. Сумма выплаты за этот период является произведением этого показателя и цены за виртуальное ядро. Значения этой метрики определяются агрегированием максимального количества используемых ЦП и памяти, используемых каждую секунду. Если используемый объём меньше минимального объема, зарезервированного по минимальным виртуальным процессорным ядрам и минимальной памяти, взимается плата за минимальный объём. Для сравнения использования ЦП и памяти при расчете платежей объем памяти нормализуется в единицы виртуальных ядер путем пересчета объема памяти в ГБ по курсу 3 ГБ на одно виртуальное ядро. Для бессерверного гипермасштабирования эта метрика предоставляется для основной реплики и всех именованных реплик. |
Время использования виртуальных ядер в секундах |
Пакет приложения | счетчики_процессора_HA_реплик | Применимо только к бессерверной гипермасштабируемости. Сумма вычислительных ресурсов, выставленных во всех приложениях для реплик высокого уровня доступности в течение отчетного периода. Эта сумма ограничена либо репликами высокой доступности, принадлежащими ведущей реплике, либо репликами высокой доступности, принадлежащими заданной именованной реплике. Перед вычислением этой суммы в репликах высокого уровня доступности объем вычислительных ресурсов, выставленный для отдельной реплики высокого уровня доступности, определяется таким же образом, как для первичной реплики или именованной реплики. Для бессерверного гипермасштабирования эта метрика предоставляется для всех основных реплик, именованных реплик и геореплик. Сумма, выплаченная в течение отчетного периода, рассчитывается как произведение этой метрики и цены единицы виртуальных ядер (vCore). | Время использования виртуальных ядер в секундах |
Пакет приложения | процент памяти приложения | Процент памяти, используемой приложением относительно максимально допустимой памяти для приложения. Для бессерверного гипермасштабирования эта метрика предоставляется для всех основных реплик, именованных реплик и геореплик. | Процентное отношение |
Пул пользовательских ресурсов | процент использования CPU | Процент виртуальных ядер, используемых рабочей нагрузкой пользователя относительно максимального количества виртуальных ядер, разрешенных для рабочей нагрузки пользователя. | Процентное отношение |
Пул пользовательских ресурсов | процент_ввода_вывода_данных | Процент операций ввода-вывода в секунду данных, используемых рабочей нагрузкой пользователя относительно максимального количества операций ввода-вывода в секунду данных, разрешенных для рабочей нагрузки пользователя. | Процентное отношение |
Пул пользовательских ресурсов | процент журналирования ввода/вывода | Процент использования объема ведения журнала в МБ/с рабочей нагрузкой пользователя в относительном значении к максимальному разрешенному объему ведения журнала в МБ/с для рабочей нагрузки пользователя. | Процентное отношение |
Пул пользовательских ресурсов | процент работников | Процент числа работников, используемых в рабочей нагрузке пользователя относительно максимально допустимого числа работников, разрешенных для рабочей нагрузки пользователя. | Процентное отношение |
Пул пользовательских ресурсов | процент сессий | Процент сеансов, используемых рабочей нагрузкой пользователя относительно максимального числа сеансов, разрешенных для рабочей нагрузки пользователя. | Процентное отношение |
Состояние приостановки и возобновления работы
В случае бессерверной базы данных с включенной автоматической приостановкой сообщаемое состояние включает следующие значения:
Состояние | Описание |
---|---|
Online | База данных находится в сети. |
Приостановка | База данных переходит из сети в режим приостановки. |
Приостановлен | База данных приостановлена. |
Возобновление | База данных переходит из приостановленной в режим "в сети". |
Использование портала Azure
В портале Azure состояние базы данных отображается на странице обзора базы данных и на странице обзора сервера. Кроме того, в портале Azure историю событий приостановки и возобновления бессерверной базы данных можно просмотреть в Журнале действий.
С помощью PowerShell
Просмотрите текущее состояние базы данных с помощью следующего примера PowerShell:
Get-AzSqlDatabase -ResourceGroupName $resourcegroupname -ServerName $servername -DatabaseName $databasename `
| Select -ExpandProperty "Status"
Использование Azure CLI
Просмотрите текущее состояние базы данных с помощью следующего примера Azure CLI:
az sql db show --name $databasename --resource-group $resourcegroupname --server $servername --query 'status' -o json
Ограничения ресурсов
Для ограничения ресурсов см. уровень бессерверных вычислений.
Выставление счетов
Объем вычислительных ресурсов, выставленных для бессерверной базы данных, — это максимальное количество используемых ЦП и памяти, используемых каждую секунду. Если объем используемой ЦП и памяти меньше минимальной суммы, подготовленной для каждого ресурса, плата взимается. Чтобы сравнить ЦП с памятью для выставления счетов, память нормализуется до количества виртуальных ядер, перерасчитывая объем в ГБ по коэффициенту 3 ГБ на одно виртуальное ядро.
- Оплачиваемые ресурсы: ЦП и память
- Начисленная сумма: цена за единицу vCore * максимальная (минимальные vCore, используемые vCore, минимальный объем памяти в ГБ * 1/3, используемый объем памяти в ГБ * 1/3)
- Периодичность выставления счета: раз в секунду
Плата за виртуальное ядро — это плата за каждое виртуальное ядро в секунду.
См. подробнее на странице с ценами на Базу данных SQL Azure для получения актуальной информации о единичных ценах в заданном регионе.
Объем вычислений, учитываемых в бессерверной среде для базы данных общего назначения или первичной, или именованной реплики гипермасштабирования, определяется с помощью следующей метрики:
- Метрика: app_cpu_billed (учёт vCore в секундах).
- Определение: максимальный (минимальное количество виртуальных ядер, используемые виртуальные ядра, минимальное количество ГБ памяти * 1/3, используемое количество ГБ памяти * 1/3)
- Частота отчетности: в минуту на основе измерений в секунду, агрегированных в течение 1 минуты.
Объем вычислений, выставляемый в бессерверной среде за реплики высокой доступности, являющиеся частью гипермасштабируемых основного образа или любой именованной реплики, определяется следующей метрикой:
- Метрика: app_cpu_billed_HA_replicas (секунды vCore)
- Определение: сумма максимальных значений (минимальное количество виртуальных процессоров, используемые виртуальные процессоры, минимальное количество ГБ памяти * 1/3, используемая память * 1/3) для любых реплик высокой доступности, принадлежащих их родительскому ресурсу.
- Родительская конечная точка ресурса и метрики: первичная реплика и любая именованная реплика отдельно выставляют эту метрику, которая измеряет вычислительные ресурсы, выставленные для всех связанных реплик с высокой доступностью.
- Частота отчетности: каждый минутный отчет основан на показателях за секунду, агрегированных в течение 1 минуты.
Минимальный счет за вычислительные ресурсы
Если бессерверная база данных приостановлена, то счет за вычислительные ресурсы равен нулю. Если бессерверная база данных не приостановлена, минимальная стоимость вычислений не меньше, чем количество vCores, основанное на максимуме из (минимального количества виртуальных ядер, минимальный объем памяти в ГБ, умноженный на 1/3).
Примеры:
- Предположим, что бессерверная база данных на уровне общего назначения не приостановлена и настроена с 8 максимальными виртуальными ядрами и 1 минимальным виртуальным ядром, соответствующим минимальному 3,0 ГБ памяти. Затем минимальная плата за вычисления основана на максимальном значении (1 виртуальное ядро, 3,0 ГБ * 1 виртуальное ядро / 3 ГБ) = 1 виртуальное ядро.
- Предположим, что бессерверная база данных на уровне общего назначения не приостановлена и настроена с 4 максимальными виртуальными ядрами и 0,5 минимальными виртуальными ядрами, соответствующими 2,1 ГБ минимальной памяти. Затем минимальный счет за вычисления основан на максимуме (0,5 виртуальных ядер, 2,1 ГБ * 1 виртуальное ядро / 3 ГБ) = 0,7 виртуальных ядер.
- Предположим, что бессерверная база данных на уровне гипермасштабирования имеет первичную реплику с одной репликой высокой доступности и одну именованную реплику, у которой нет реплик высокой доступности. Предположим, что каждая реплика настроена с 8 максимальными виртуальными ядрами и 1 минимальным виртуальным ядром, соответствующим минимальному 3 ГБ памяти. Затем минимальный вычислительный счет для первичной реплики, реплики высокой доступности и именованной реплики рассчитывается на основе максимального значения (1 vCore, 3 ГБ * 1 vCore / 3 ГБ) = 1 vCore.
Калькулятор цен для базы данных Azure SQL для бессерверной архитектуры можно использовать для определения минимально настраиваемой памяти на основе количества настроенных максимальных и минимальных виртуальных ядер. Как правило, если минимальные виртуальные ядра больше 0,5, минимальная стоимость вычислений не зависит от объема настроенной минимальной памяти. Она определяется только числом минимальных виртуальных ядер.
Примеры сценариев.
- Общего назначения
- Гипермасштаб
Рассмотрим бессерверную базу данных на уровне общего назначения, настроенную с 1 минимальным виртуальным ядром и 4 максимальными виртуальными ядрами. Эта конфигурация соответствует примерно 3 ГБ минимальной памяти и 12 ГБ максимальной памяти. Предположим, что задержка автоматической приостановки равна 6 часам, а рабочая нагрузка базы данных активна в течение первых 2 часов в 24-часовом периоде, а затем неактивна.
В этом случае оплачиваются вычислительные ресурсы и ресурсы хранения базы данных за первые 8 часов. Несмотря на неактивность базы данных после второго часа, счет за вычислительные ресурсы в последующие 6 часов все равно выставляется (за минимальные подготовленные вычислительные ресурсы, пока база данных в сети). В течение оставшейся части 24-часового периода, пока база данных приостановлена, оплачиваются только ресурсы хранения.
Точнее, счет за вычислительные ресурсы в этом примере выставляется следующим образом.
Интервал времени | Число виртуальных ядер, используемых в секунду | Каждую секунду используемые ГБ | Исчисляемая размерность | Время работы виртуальных ядер в секундах за интервал времени |
---|---|---|---|---|
0:00–1:00. | 4 | 9 | Использованные виртуальные ядра | 4 виртуальных ядер * 3600 секунд = 14400 виртуальных ядер-секунд |
1:00–2:00 | 1 | 12 | Используемая память | 12 ГБ * 1/3 * 3600 секунд = 14400 секунд виртуальных ядер |
2:00–8:00. | 0 | 0 | Минимальная выделенная память | 3 ГБ * 1/3 * 21600 секунд = 21600 vCore секунд |
8:00–24:00. | 0 | 0 | Счет за вычислительные ресурсы в состоянии приостановки не выставляется | 0 секунд vCore |
Общее количество секунд vCore, выставленных в течение 24 часов | 50 400 vCore-секунд |
Предположим, что цена за единицу вычислений составляет 0,000145 долл. США/виртуальное ядро/секунда. Затем вычислительные расходы за этот 24-часовой период составляют произведение цены за единицу вычислений и количества секунд виртуальных ядер: $0,000145/вКоре/секунда * 50 400 секунд виртуальных ядер ~ $7,31.
Преимущество гибридного использования Azure и резервирование
Скидки на гибридные преимущества Azure (AHB) и резервирования Azure не применяются к бессерверному уровню вычислений.
Доступные регионы
Сведения о региональной доступности см. в разделе доступность бессерверных серверов по регионам для базы данных SQL Azure.
Связанный контент
- Чтобы начать работу, посмотрите краткое руководство: Создание одной базы данных — База данных SQL Azure.
- Варианты уровня бессерверных служб см. в разделах Общего назначения и Гипермасштабирование.