Настройка и поддержание производительности

Завершено

Понимание возможностей 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, выполните следующую проверку знаний, прежде чем перейти к следующему уроку.

Проверка знаний

1.

Количество файлов для tempdb можно настроить в базе данных SQL Azure с помощью следующего метода:

2.

Вы можете настроить производительность ввода-вывода для базы данных SQL Azure с помощью следующего метода:

3.

Как обслуживать индексы с помощью SQL Azure?