Resource Governor

Применимо к: SQL Server Управляемый экземпляр SQL Azure

SQL Server Resource Governor — это функция, которую можно использовать для управления SQL Server рабочей нагрузкой и потреблением системных ресурсов. Resource Governor позволяет задать ограничения на объем ресурсов ЦП, памяти и количество физических операций ввода-вывода, которые могут использоваться для входящих запросов приложений.

Примечание

Хотя База данных SQL Azure использует Resource Governor (помимо других методик) для управления ресурсами, пользовательская конфигурация настраиваемых пулов ресурсов и групп рабочих нагрузок в Базе данных SQL Azure не поддерживается. В Azure Synapse Analytics используется другая реализация аналогичного поведения Resource Governor с функцией классификации рабочих нагрузок.

Преимущества регулятора ресурсов

Resource Governor помогает управлять нагрузками и ресурсами SQL Server, указывая предельное потребление ресурсов входящими запросами. В контексте регулятора ресурсов рабочая нагрузка представляет собой набор запросов приблизительно одинакового размера, которые могут и должны обрабатываться как единая сущность. Это не жесткое требование, но чем однообразнее выглядит шаблон использования ресурсов рабочей нагрузки, тем больше преимуществ можно извлечь из регулятора ресурсов. Ограничения на ресурсы можно перенастроить в режиме реального времени, при этом воздействие на выполняемую рабочую нагрузку остается минимальным.

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

С помощью регулятора ресурсов можно выполнить следующее.

  • Обеспечить облуживание многих клиентов и изоляцию ресурсов на одиночных экземплярах SQL Server, обслуживающих несколько клиентских рабочих нагрузок. То есть можно разделить доступные ресурсы сервера среди рабочих нагрузок, минимизировав проблемы, которые могут возникнуть при конкуренции рабочих нагрузок за ресурсы.

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

  • Изолировать и ограничивать неконтролируемые запросы и регулировать ресурсы ввода-вывода для таких операций, как DBCC CHECKDB, способных занять всю производительность подсистемы ввода-вывода и негативно повлиять на другие рабочие нагрузки.

  • Добавить детализированное отслеживание ресурсов для возврата платежей за использование ресурсов и предоставлять прогнозируемое выставление счетов потребителям ресурсов сервера.

Ограничения регулятора ресурсов

В данном выпуске регулятора ресурсов имеются следующие ограничения.

  • Управление ресурсами ограничивается SQL Server компонентом Компонент Database Engine. Resource Governor нельзя использовать для служб Analysis Services, Служб Integration Services и Reporting Services.

  • Наблюдение за рабочей нагрузкой и управление рабочими нагрузками между экземплярами SQL Server не предусмотрены.

  • Управление рабочими нагрузками OLTP с помощью регулятора ресурсов возможно, но данные типы запросов, как правило, непродолжительные, не всегда находятся в ЦП настолько долго, чтобы к ним можно было применить средства управления пропускной способностью. Это может привести к искажению возвращаемых статистических данных по загрузке ЦП.

  • Возможность администрирования физического ввода-вывода относится только к операциям пользователя, но не к задачам системы. К системным задачам относятся операции записи в журнал транзакций и операции отложенного ввода-вывода модуля отложенной записи. Resource Governor работает главным образом с пользовательскими операциями чтения, так как большинство операций записи обычно выполняются системными задачами.

  • Нельзя задать пороговые значения ввода-вывода на внутреннем пуле ресурсов.

Основные понятия ресурсов

Приведенные ниже три понятия лежат в основе понимания работы регулятора ресурсов.

  • Пулы ресурсов. Пул ресурсов представляет физические ресурсы сервера. Пул можно считать виртуальным экземпляром SQL Server внутри экземпляра SQL Server . При установке SQL Server создаются два пула ресурсов (внутренний и по умолчанию). Кроме того, регулятор ресурсов поддерживает определяемые пользователями пулы ресурсов. Дополнительные сведения см. в разделе Resource Governor Resource Pool.

  • Группы рабочей нагрузки. Группа рабочей нагрузки выступает в качестве контейнера для запросов сеансов, имеющих подобные критерии классификации. Рабочая нагрузка обеспечивает статистический мониторинг сеансов и определяет политики для сеансов. Каждая группа рабочей нагрузки существует в пуле ресурсов. При установке SQL Server создаются две группы рабочих нагрузок (внутренние и по умолчанию) и сопоставляются с соответствующими пулами ресурсов. Кроме того, регулятор ресурсов поддерживает определяемые пользователями группы рабочей нагрузки. Дополнительные сведения см. в разделе Resource Governor Workload Group.

  • Классификация. Процесс классификации назначает входящие сеансы группе рабочей нагрузки с учетом характеристик сеанса. Логику классификации можно адаптировать путем написания определяемой пользователем функции, называемой функцией-классификатором. Кроме того, регулятор ресурсов поддерживает определяемую пользователем функцию-классификатор для реализации правил классификации. Дополнительные сведения см. в разделе Resource Governor Classifier Function.

Примечание

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

В контексте регулятора ресурсов можно обрабатывать описанные выше понятия как компоненты. На следующей иллюстрации показаны эти компоненты и отношения между ними в среде компонента Database Engine. С точки зрения обработки упрощенный поток выглядит следующим образом.

  • Имеется входящее соединение с сеансом (сеанс 1 из n).

  • Сеанс классифицирован (классификация).

  • Рабочая нагрузка сеанса направляется в группу рабочей нагрузки, например в группу 4.

  • Группа рабочей нагрузки использует пул ресурсов, с которым она связана, например Пул 2.

  • Пул ресурсов предоставляет или ограничивает доступ к ресурсам, которые требуются приложению, например Приложению 3.

функциональные компоненты Resource Governor

Задачи регулятора ресурсов

Описание задачи Раздел
Описывает, как включить регулятор ресурсов. Включение регулятора ресурсов
Описывает, как отключить регулятор ресурсов. Отключение регулятора ресурсов
Описывает, как создать, изменить и удалить пул ресурсов. Пул ресурсов регулятора ресурсов
Описывает, как создать, изменить, переместить и удалить группу рабочей нагрузки Группа рабочей нагрузки регулятора ресурсов
Описывает, как создать и проверить определяемую пользователем функцию-классификатор. Функция-классификатор регулятора ресурсов
Описывает, как настроить регулятор ресурсов с использованием шаблона. Настройка регулятора ресурсов с помощью шаблона
Описывает, как просматривать свойства регулятора ресурсов. Просмотр свойств регулятора ресурсов

См. также:

Экземпляры компонента Database Engine (SQL Server)