Настройка и поддержание производительности
Понимание возможностей SQL Azure важно для обеспечения стабильной производительности. Также важно понимать, какие параметры и ограничения, способные повлиять на производительность, необходимо настроить для Управляемого экземпляра SQL Azure и баз данных SQL Azure. Это включает следующее:
tempdb
Разделы базы данных- Настройка баз данных
- Настройка файлов и файловых групп
- Настройка максимальной степени параллелизма
- Использование регулятора ресурсов
- Обслуживание индексов и статистики
Tempdb
Системная tempdb
база данных является важным общим ресурсом, используемым приложениями. Обеспечение правильной конфигурации tempdb
может повлиять на возможность обеспечения согласованной производительности. Вы используете одинаковое использование tempdb
как для SQL Server, так и для SQL Azure. Обратите внимание, что возможность настройки tempdb
отличается, включая размещение файлов, количество и размер файлов, а tempdb
также параметры конфигурации.
Файлы базы данных всегда хранятся автоматически на локальных дисках tempdb
SSD, поэтому производительность ввода-вывода не должна быть проблемой.
Специалисты SQL Server часто используют несколько файлов базы данных для секционирования выделений таблиц tempdb
. Для База данных SQL Azure количество файлов масштабируется с числом виртуальных ядер (например, два виртуальных ядра равны четыре файла) с максимальным числом 16 файлов. Количество файлов не настраивается с помощью T-SQL tempdb
, но его можно настроить, изменив параметр развертывания. Максимальный размер tempdb
масштабируется на количество виртуальных ядер. Вы получаете 12 файлов с Управляемым экземпляром SQL независимо от виртуальных ядер.
Параметр базы данных MIXED_PAGE_ALLOCATION
имеет значение OFF и AUTOGROW_ALL_FILES
имеет значение ON. Вы не можете настроить это, но, как и в SQL Server, это рекомендуемые значения по умолчанию.
Функция tempdb
оптимизации метаданных, представленная в SQL Server 2019, которая может облегчить тяжелые конфликты с блокировкой, в настоящее время недоступна в База данных SQL Azure или Управляемый экземпляр SQL Azure.
Конфигурация базы данных
Обычно конфигурация базы данных выполняется с помощью инструкций T-SQL ALTER DATABASE и ALTER DATABASE SCOPED CONFIGURATION. Многие варианты конфигураций, повышающих производительность, доступны для SQL Azure. Ознакомьтесь со справочником ALTER DATABASE и ALTER DATABASE SCOPED CONFIGURATION T-SQL для различий между SQL Server, База данных SQL Azure и Управляемый экземпляр SQL Azure.
Один из параметров, недоступный для изменения в целях повышения производительности, — это модель восстановления базы данных. По умолчанию используется полное восстановление. Это гарантирует, что база данных сможет соответствовать соглашениям об уровне обслуживания (SLA) Azure. Поэтому минимальное ведение журнала для массовых операций не поддерживается. Для массовых операций поддерживается tempdb
минимальное ведение журнала.
Файлы и файловые группы
Специалисты по SQL Server часто используют файлы и файловые группы для повышения производительности операций ввода-вывода за счет физического размещения файлов. SQL Azure не разрешает пользователям размещать файлы в конкретных дисковых системах. Однако в SQL Azure предусмотрены обязательства по ресурсам для повышения производительности операций ввода-вывода в отношении скорости, операций ввода/вывода в секунду и задержек. Таким образом, абстракция физического размещения файлов может быть преимуществом.
В базе данных SQL Azure имеется только один файл базы данных (на уровне "Гипермасштабирование" обычно используется несколько), и его максимальный размер настраивается через интерфейсы Azure. Функций для создания дополнительных файлов нет.
Управляемый экземпляр SQL Azure поддерживает добавление файлов базы данных и настройку размеров, но не физическое размещение файлов. Количество файлов и размеров файлов можно использовать для Управляемый экземпляр SQL для повышения производительности ввода-вывода. Кроме того, в Управляемом экземпляре SQL поддерживаются определенные пользователями файловые группы в целях повышения управляемости.
Конфигурация MAXDOP
Максимальная степень параллелизма (MAXDOP) может повлиять на производительность отдельных запросов. SQL Server и SQL Azure обрабатывают MAXDOP одинаково. Параметр MAXDOP в SQL Azure можно настроить так же, как и в SQL Server, то есть с помощью следующих методов:
- ALTER DATABASE SCOPED CONFIGURATION для настройки MAXDOP поддерживается для SQL Azure.
- В Управляемом экземпляре SQL поддерживается хранимая процедура sp_configure для установки максимальной степени параллелизма.
- Указания запросов MAXDOP полностью поддерживаются.
- Настройка MAXDOP с помощью Resource Governor поддерживается для Управляемого экземпляра SQL.
Resource Governor
Resource Governor — это функция в SQL Server, которую можно использовать для управления использованием ресурсов рабочих нагрузок, включая операции ввода-вывода, ресурсы ЦП и память. Обратите внимание, что для определяемых пользователем групп рабочей нагрузки и пулов Resource Governor поддерживается для Управляемого экземпляра SQL, но не для базы данных SQL Azure.
Обслуживание индекса
Создание и обслуживание индексов для SQL Azure точно совпадает с тем, что и для SQL Server. Например, создание, перестроение и реорганизация индексов полностью поддерживается, как и в случае с SQL Server. Это касается подключенных к сети и возобновляемых индексов.
Обработка статистики
SQL Server и SQL Azure обрабатывают статистику одинаково. Параметры автоматической статистики для баз данных доступны в SQL Azure и SQL Server.
Теперь, когда вы узнали о некоторых вариантах конфигурации и обслуживания для производительности SQL Azure, выполните следующую проверку знаний, прежде чем перейти к следующему уроку.