Что такое управление рабочей нагрузкой?
Выполнение смешанных рабочих нагрузок может усложнять процесс распределения ресурсов на загруженных системах. Архитекторы решений стараются разделять классические операции хранения данных (загрузка, преобразование и запросы), чтобы всегда иметь достаточный запас ресурсов для соблюдения соглашений об уровне обслуживания.
Изоляция физических серверов может привести к появлению инфраструктурных ниш со слишком низкой или слишком высокой загрузкой либо с постоянной инициализацией кэшей с запуском и остановкой оборудования. Чтобы считаться успешной, схема управления рабочими нагрузками должна эффективно управлять ресурсами, обеспечивать высокую эффективность использования ресурсов и рентабельность инвестиций.
Рабочими нагрузками хранилища данных считаются любые операции, имеющие отношение к хранилищу данных. Глубина и ширина этих компонентов зависят от уровня зрелости хранилища данных. Рабочая нагрузка хранилища данных включает следующее:
- полный процесс загрузки данных в хранилище;
- выполнение анализа и создание отчетов по хранилищу данных;
- управление данными в хранилище данных;
- экспорт данных из хранилища данных.
Производительность хранилища данных зависит от единиц использования хранилища данных.
- Сведения о выделении ресурсов для всех профилей производительности см. в статье Ограничения параллелизма и памяти для хранилища данных SQL Azure.
- Корректировать производительность можно с помощью вертикального масштабирования.
Основные понятия, связанные с управлением рабочими нагрузками
Раньше для Synapse SQL в Azure Synapse для управления производительностью запросов применялись классы ресурсов. Классы ресурсов позволяли назначать запросу определенный объем памяти на основе членства в роли. Основная проблема с классами ресурсов заключается в том, что после исходной настройки не было никаких систем или возможностей для управления рабочей нагрузкой.
Например, незапланированное назначение членства в роли smallrc позволяло пользователю использовать полный объем памяти в системе. Использование классов ресурсов не предусматривало резервирование ресурсов, чтобы обеспечить их доступность для критически важных рабочих нагрузок.
Управление рабочей нагрузкой в выделенном пуле SQL описывают три базовые концепции Azure Synapse: классификация, важность и изоляция рабочих нагрузок. Эти возможности позволяют выборочно управлять тем, как рабочие нагрузки потребляют системные ресурсы.
Классификация рабочих нагрузок означает назначение запросов определенным группам рабочих нагрузок с указанным уровнем важности. Исторически это назначение выполнялось через членство в ролях с помощью команды sp_addrolemember. Теперь это действие можно выполнить с помощью инструкции CREATE WORKLOAD CLASSIFER. Возможность классификации предоставляет расширенный набор параметров для классификации запросов, таких как метка, сеанс и время.
Важность рабочих нагрузок влияет на порядок, в котором запросы получают доступ к ресурсам. В загруженной системе запросы с более высокой важностью первыми получают доступ к ресурсам. Важность также может определять очередность доступа к блокировкам.
Изоляция рабочих нагрузок означает резервирование ресурсов для группы рабочих нагрузок. Такие ресурсы сохраняются исключительно для этой группы, чтобы обеспечить выполнение. Группы рабочих нагрузок (примерно как и классы ресурсов) также позволяют определить объем ресурсов, назначаемых для каждому запросу. Группы рабочих нагрузок позволяют зарезервировать ресурсы или ограничить объем ресурсов, которые может потреблять набор запросов. И наконец, группы рабочих нагрузок предоставляют механизм для применения к запросам особых правил, таких как время ожидания запроса.
Дальнейшие действия
- Узнайте о классификации рабочих нагрузок.
- Узнайте об изоляции рабочих нагрузок.
- Узнайте о важности рабочих нагрузок.
- См. дополнительные сведения в статье Azure Synapse Analytics. Мониторинг портала управления рабочими нагрузками.