Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server Управляемый экземпляр SQL Azure
Регулятор ресурсов можно использовать для управления потреблением ресурсов ядра СУБД и применением политик для рабочих нагрузок пользователей. Регулятор ресурсов позволяет зарезервировать или ограничить объём использования центрального процессора (ЦП), памяти и физического ввода-вывода, которое могут использовать пользовательские рабочие нагрузки запросов. Вы также можете изменить поведение потребления ресурсов каждого запроса, например степень параллелизма или размер предоставления памяти.
Начиная с предварительной версии SQL Server 2025 (17.x), вы можете использовать регулятор ресурсов для применения ограничений общего объема tempdb пространства, потребляемого приложением или рабочей нагрузкой пользователя. Дополнительные сведения см. в разделе "Управление ресурсами пространства Tempdb".
Для примеров конфигурации и мониторинга, а также изучения лучших практик по настройке регулятора ресурсов см. в руководстве: Примеры конфигурации и лучшие практики по настройке регулятора ресурсов.
Примечание.
Хотя база данных Azure SQL использует регулятор ресурсов (наряду с другими методами) для управления ресурсами, настройка пользователем пулов ресурсов и групп рабочих процессов в базе данных Azure SQL не поддерживается.
Azure Synapse Analytics имеет другую реализацию аналогичного поведения управления ресурсами с помощью функции классификации рабочей нагрузки.
Преимущества регулятора ресурсов
Регулятор ресурсов позволяет управлять рабочими нагрузками и ресурсами ядра СУБД, указывая резервирования и ограничения потребления ресурсов по запросам. В контексте регулятора ресурсов рабочая нагрузка — это набор запросов (запросов), которые могут и должны рассматриваться как единая сущность. Например, все запросы, выполняемые определенным приложением, могут считаться рабочей нагрузкой. Хотя это не является обязательным требованием, тем более универсальным является шаблон использования ресурсов рабочей нагрузки, тем больше преимуществ, которые вы, скорее всего, получите от регулятора ресурсов.
Если на одном сервере присутствуют несколько разных рабочих нагрузок, регулятор ресурсов позволяет распределять ресурсы по-разному для разных рабочих нагрузок в зависимости от указанных ограничений.
Ниже приведены некоторые сценарии использования, поддерживаемые регулятором ресурсов:
- Обеспечить облуживание многих клиентов и изоляцию ресурсов на одиночных экземплярах SQL Server, обслуживающих несколько клиентских рабочих нагрузок. То есть можно разделить доступные ресурсы сервера среди рабочих нагрузок, минимизировав проблемы, которые могут возникнуть при конкуренции рабочих нагрузок за ресурсы.
- Предсказуемая производительность и поддержка соглашений об уровне обслуживания для рабочих нагрузок в среде с несколькими рабочими нагрузками и несколькими пользователями.
- Изоляция и ограничение неуправляемых запросов или ограничение ресурсов ввода-вывода для операций с интенсивным вводом-выводом, которые могут насыщать подсистему ввода-вывода и отрицательно влиять на работу других процессов.
- Добавьте детальное отслеживание использования ресурсов для учетных сборов и обеспечьте предсказуемое выставление счетов потребителям ресурсов сервера.
Взаимодействие и ограничения
- Регулятор ресурсов можно использовать с группами доступности "Always On" и «экземплярами отказоустойчивого кластера». Ниже приведены рекомендации.
- При использовании в SQL Server регулятор ресурсов должен быть настроен на каждом экземпляре SQL Server, где размещается группа доступности. Конфигурация регулятора ресурсов не распространяется из первичной реплики группы доступности на вторичные реплики. Рекомендуется использовать одну и ту же конфигурацию регулятора ресурсов для всех экземпляров ядра СУБД SQL Server, где размещаются реплики доступности. Это гарантирует согласованное поведение при переключениях на отказоустойчивую копию группы доступности.
- При использовании в Управляемом экземпляре SQL Azure конфигурация регулятора ресурсов распространяется из первичной реплики на все вторичные реплики, так как
masterбаза данных первичной реплики реплицируется во все вторичные реплики. К ним относятся высокодоступные вторичные сервера и георепликация. Дополнительные сведения см. в разделе "Регулятор ресурсов". - Если вы используете содержащиеся группы доступности, дополнительные сведения см. в разделе "Взаимодействие с другими функциями ".
- Управление ресурсами ограничено ядро СУБД SQL Server. Регулятор ресурсов не может использоваться для служб Analysis Services, Integration Services и Reporting Services.
- Регулятор ресурсов не обеспечивает мониторинг рабочей нагрузки или управление рабочей нагрузкой в нескольких экземплярах SQL Server.
- Очень короткие запросы, такие как запросы в некоторых рабочих нагрузках OLTP, могут не использовать ЦП достаточно долго, чтобы применить элементы управления пропускной способностью ЦП. Это может сократить статистику использования ЦП и ограничить эффективность управления ресурсами ЦП.
- Возможность управления физическими операциями ввода-вывода применяется только к операциям пользователей, а не к системным задачам. Системные задачи выполняют журнал транзакций, контрольную точку и отложенную запись ввода-вывода. Регулятор ресурсов управляет физическими считываниями операций ввода-вывода пользователя, но не записывает операции ввода-вывода, выполняемые системными задачами.
- Невозможно изменить элементы управления ресурсами для пула ресурсов и группы рабочих нагрузок
internal.
Основные понятия ресурсов
Следующие три понятия являются основными для понимания и использования регулятора ресурсов:
-
пул ресурсов. Пул ресурсов представляет контейнер для физических ресурсов сервера, например ЦП, памяти и ввода-вывода. Всегда присутствуют два встроенных пула ресурсов
internalиdefault. Регулятор ресурсов также поддерживает определяемые пользователем пулы ресурсов. В зависимости от конфигурации ресурсы в пуле ресурсов можно совместно использовать с другими пулами или зарезервированными. Для получения дополнительной информации см. пул ресурсов диспетчера ресурсов. -
группа нагрузки. Группа рабочей нагрузки представляет контейнер для сеансов, классифицируемых таким же образом. Группа рабочих нагрузок позволяет агрегировать мониторинг потребления сеансов и ресурсов запроса и определяет политики запросов. Каждая группа рабочей нагрузки существует в пуле ресурсов. Две встроенные группы рабочих нагрузок
internalиdefaultвсегда существуют и сопоставляются с пулами ресурсовinternalиdefaultсоответственно. Регулятор ресурсов также поддерживает определяемые пользователем группы рабочих нагрузок. Дополнительные сведения см. в группе рабочей нагрузки регулятора ресурсов. - классификация. Процесс классификации назначает входящие сеансы группе рабочей нагрузки на основе атрибутов сеанса, например имени входа или имени программы, с помощью пользовательской логики классификации. После классификации сеанса в группу рабочей нагрузки все запросы, выполняемые в этом сеансе, подвергаются политикам группы рабочей нагрузки. Вы определяете логику классификации путем написания скалярной определяемой пользователем функции, называемой функцией классификатора. Дополнительные сведения см. в функции классификатора регулятора ресурсов.
Примечание.
Регулятор ресурсов не накладывает ограничения на выделенное подключение администратора (DAC). Запросы DAC всегда выполняются в группе рабочих нагрузок internal и пуле ресурсов.
На следующем рисунке показаны компоненты регулятора ресурсов и их связь друг с другом в ядре СУБД. С точки зрения обработки упрощенный поток выглядит следующим образом.
- Есть входящее соединение для сеанса (сеанс 1 из
n). - Сеанс засекречен.
- С помощью результата классификации сеанс назначается группе рабочей нагрузки, например
Group 4. - Группа рабочей нагрузки применяет свои политики ко всем запросам и использует пул ресурсов, с которым он связан, например
Pool 2. - Пул ресурсов предоставляет и ограничивает ресурсы, необходимые приложению, например,
Application 3.
Задачи регулятора ресурсов
| Описание задачи | Статья |
|---|---|
| Просмотр примеров конфигурации | Руководство. Примеры конфигурации регулятора ресурсов и рекомендации |
| Включите регулятор ресурсов | Включить регулятора ресурсов |
| Отключите регулятор ресурсов | Отключить регулятор ресурсов |
| Создание, изменение и удаление пула ресурсов | пул ресурсов диспетчера ресурсов |
| Создание, изменение, перемещение и удаление группы рабочей нагрузки | Группа рабочих нагрузок диспетчера ресурсов |
| Создание и проверка определяемой пользователем функции классификатора | Функция классификации для регулятора ресурсов |
| Настройка регулятора ресурсов с помощью шаблона | Настройка регулятора ресурсов с помощью шаблона |
| Просмотр свойств регулятора ресурсов | Просмотр и изменение свойств регулятора ресурсов |
Установка ограничения tempdb потребления пространства |
Управление ресурсами пространства tempdb |