Izolace skupiny úloh Azure Synapse Analytics

Tento článek vysvětluje, jak se skupiny úloh dají použít ke konfiguraci izolace úloh, zahrnutí prostředků a použití pravidel modulu runtime pro provádění dotazů.

Skupiny úloh

Skupiny úloh jsou kontejnery pro sadu požadavků a jsou základem pro konfiguraci správy úloh, včetně izolace úloh, v systému. Skupiny úloh se vytvářejí pomocí syntaxe CREATE WORKLOAD GROUP . Jednoduchá konfigurace správy úloh může spravovat načítání dat a dotazy uživatelů. Například skupina úloh s názvem wgDataLoads definuje aspekty úloh pro data načtená do systému. Skupina úloh s názvem wgUserQueries také definuje aspekty úloh pro uživatele, kteří spouštějí dotazy, aby mohli číst data ze systému.

V následujících částech se dozvíte, jak skupiny úloh poskytují možnost definovat izolaci, uzavření, požádat o definici prostředku a dodržovat pravidla spouštění.

Zásady správného řízení prostředků

Prostředky paměti a procesoru se řídí skupinami úloh. Vstupně-výstupní operace disku a sítě ani databáze tempdb se neřídí. Zásady správného řízení prostředků pro paměť a procesor jsou následující:

Paměť se řídí na úrovni požadavku a uchovává se po celou dobu trvání požadavku. Další podrobnosti o tom, jak nakonfigurovat velikost paměti na požadavek, najdete v tématu Definice prostředků na požadavek. Parametr MIN_PERCENTAGE_RESOURCE pro skupinu úloh vyhrazuje paměť výhradně této skupině úloh. Parametr CAP_PERCENTAGE_RESOURCE pro skupinu úloh představuje pevný limit paměti, kterou může skupina úloh využívat.

Prostředky procesoru se řídí na úrovni skupiny úloh a sdílejí se všemi požadavky v rámci skupiny úloh. Prostředky procesoru jsou v porovnání s pamětí, která je vyhrazená pro požadavek po dobu provádění, plynulé. Vzhledem k tomu, že procesor je plynulý prostředek, můžou nevyužité prostředky procesoru využívat všechny skupiny úloh. To znamená, že využití procesoru může překročit parametr CAP_PERCENTAGE_RESOURCE pro skupinu úloh. To také znamená, že parametr MIN_PERCENTAGE_RESOURCE pro skupinu úloh není pevnou rezervací jako paměť. Když dochází ke kolizím prostředků procesoru, využití bude odpovídat definici CAP_PERCENTAGE_RESOURCE pro skupiny úloh.

Izolace úloh

Izolace úloh znamená, že prostředky jsou vyhrazené výhradně pro skupinu úloh. Izolace úloh se dosahuje konfigurací parametru MIN_PERCENTAGE_RESOURCE na hodnotu větší než nula v syntaxi CREATE WORKLOAD GROUP . U úloh průběžného spouštění, které potřebují dodržovat pevné smlouvy SLA, izolace zajišťuje, aby pro skupinu úloh byly vždy dostupné prostředky.

Konfigurace izolace úloh implicitně definuje garantovanou úroveň souběžnosti. Například skupina úloh s MIN_PERCENTAGE_RESOURCE nastavenou na 30 % a REQUEST_MIN_RESOURCE_GRANT_PERCENT nastavenou na 2 % má zaručenou souběžnost 15. Úroveň souběžnosti je zaručena, protože 15-2% slotů prostředků je vždy rezervováno v rámci skupiny úloh (bez ohledu na to, jak je nakonfigurovaná REQUEST_MAX_RESOURCE_GRANT_PERCENT). Pokud je REQUEST_MAX_RESOURCE_GRANT_PERCENT větší než REQUEST_MIN_RESOURCE_GRANT_PERCENT a CAP_PERCENTAGE_RESOURCE je větší než MIN_PERCENTAGE_RESOURCE je možné přidat další prostředky na základě dostupnosti prostředků. Pokud jsou REQUEST_MAX_RESOURCE_GRANT_PERCENT a REQUEST_MIN_RESOURCE_GRANT_PERCENT stejné a CAP_PERCENTAGE_RESOURCE je větší než MIN_PERCENTAGE_RESOURCE, je možná další souběžnost. Pro určení zaručené souběžnosti zvažte následující metodu:

[Garantovaná souběžnost] = [MIN_PERCENTAGE_RESOURCE] / [REQUEST_MIN_RESOURCE_GRANT_PERCENT]

Poznámka

Pro min_percentage_resource jsou k dispozici určité minimální hodnoty na úrovni služby. Další informace najdete v tématu Efektivní hodnoty , kde najdete další podrobnosti.

Pokud neexistuje izolace úloh, žádosti fungují ve sdíleném fondu prostředků. Přístup k prostředkům ve sdíleném fondu není zaručený a přiřazuje se na základě důležitosti .

Konfigurace izolace úloh by se měla provádět opatrně, protože prostředky se přidělují skupině úloh i v případě, že skupina úloh neobsahuje žádné aktivní požadavky. Nadměrná konfigurace izolace může vést ke snížení celkového využití systému.

Uživatelé by se měli vyhnout řešení správy úloh, které konfiguruje 100% izolaci úloh: 100% izolace se dosáhne, když se součet min_percentage_resource nakonfigurovaných napříč všemi skupinami úloh rovná 100 %. Tento typ konfigurace je příliš omezující a strnulý a nechává málo místa pro požadavky na prostředky, které jsou omylem chybně klasifikované. Existuje zřízení, které umožňuje spuštění jednoho požadavku ze skupin úloh, které nejsou nakonfigurované pro izolaci. Prostředky přidělené tomuto požadavku se zobrazí jako nula v systémových zobrazeních dynamické správy a vypůjčí si malou úroveň grantu prostředků ze systémových rezervovaných prostředků.

Poznámka

Pokud chcete zajistit optimální využití prostředků, zvažte řešení správy úloh, které využívá určitou izolaci, aby se zajistilo, že se smlouvy SLA budou splňovat a kombinovat se sdílenými prostředky, ke kterým se přistupuje na základě důležitosti úloh.

Uzavření úloh

Omezením úloh se rozumí omezení množství prostředků, které může skupina úloh využívat. Omezení zatížení se dosáhne konfigurací parametru CAP_PERCENTAGE_RESOURCE na hodnotu menší než 100 v syntaxi CREATE WORKLOAD GROUP . Představte si scénář, kdy uživatelé potřebují přístup ke čtení systému, aby mohli spustit citlivostní analýzu prostřednictvím ad hoc dotazů. Tyto typy požadavků můžou mít negativní dopad na jiné úlohy spuštěné v systému. Konfigurace kontejneru zajišťuje omezení množství prostředků.

Konfigurace zahrnutí úloh implicitně definuje maximální úroveň souběžnosti. Pokud je CAP_PERCENTAGE_RESOURCE nastavená na 60 % a REQUEST_MIN_RESOURCE_GRANT_PERCENT nastavená na 1 %, je pro skupinu úloh povolená úroveň souběžnosti až 60. Pro určení maximální souběžnosti zvažte metodu, která je uvedená níže:

[Maximální souběžnost] = [CAP_PERCENTAGE_RESOURCE] / [REQUEST_MIN_RESOURCE_GRANT_PERCENT]

Poznámka

Efektivní CAP_PERCENTAGE_RESOURCE skupiny úloh nedosáhne 100 %, pokud se vytvoří skupiny úloh s MIN_PERCENTAGE_RESOURCE na úrovni vyšší než nula. Efektivní hodnoty modulu runtime najdete v sys.dm_workload_management_workload_groups_stats .

Definice prostředků na žádost

Skupiny úloh poskytují mechanismus pro definování minimálního a maximálního množství prostředků přidělených na požadavek pomocí parametrů REQUEST_MIN_RESOURCE_GRANT_PERCENT a REQUEST_MAX_RESOURCE_GRANT_PERCENT v syntaxi CREATE WORKLOAD GROUP . Prostředek je v tomto případě paměť. Zásady správného řízení prostředků procesoru jsou popsané v části Zásady správného řízení prostředků .

Poznámka

REQUEST_MAX_RESOURCE_GRANT_PERCENT je volitelný parametr, který ve výchozím nastavení používá stejnou hodnotu jako pro REQUEST_MIN_RESOURCE_GRANT_PERCENT.

Podobně jako při výběru třídy prostředků se při konfiguraci REQUEST_MIN_RESOURCE_GRANT_PERCENT nastaví hodnota pro prostředky využívané požadavkem. Množství prostředků uvedené nastavenou hodnotou je zaručeno pro přidělení k požadavku před zahájením provádění. Pro zákazníky, kteří migrují z tříd prostředků na skupiny úloh, zvažte jako výchozí bod mapování z tříd prostředků na skupiny úloh podle článku s postupy .

Konfigurace REQUEST_MAX_RESOURCE_GRANT_PERCENT na hodnotu větší než REQUEST_MIN_RESOURCE_GRANT_PERCENT umožňuje systému přidělit více prostředků na každou žádost. Při plánování požadavku systém určuje skutečné přidělení prostředků k požadavku, které je mezi REQUEST_MIN_RESOURCE_GRANT_PERCENT a REQUEST_MAX_RESOURCE_GRANT_PERCENT, na základě dostupnosti zdrojů ve sdíleném fondu a aktuálního zatížení systému. Při naplánování dotazu musí prostředky existovat ve sdíleném fondu prostředků.

Poznámka

REQUEST_MIN_RESOURCE_GRANT_PERCENT a REQUEST_MAX_RESOURCE_GRANT_PERCENT mají platné hodnoty, které jsou závislé na efektivních hodnotách MIN_PERCENTAGE_RESOURCE a CAP_PERCENTAGE_RESOURCE. Efektivní hodnoty modulu runtime najdete v sys.dm_workload_management_workload_groups_stats .

Pravidla spouštění

Na ad hoc systémech generování sestav můžou zákazníci nechtěně spouštět nechtěné dotazy, které vážně ovlivňují produktivitu ostatních. Správci systému jsou nuceni trávit čas odstraňováním běhacích dotazů, aby uvolnili systémové prostředky. Skupiny úloh nabízejí možnost nakonfigurovat pravidlo časového limitu spuštění dotazu, které zruší dotazy, které překročily zadanou hodnotu. Pravidlo se konfiguruje nastavením parametru QUERY_EXECUTION_TIMEOUT_SEC v syntaxi CREATE WORKLOAD GROUP (VYTVOŘIT SKUPINU ÚLOH ).

Sdílené prostředky fondu

Prostředky sdíleného fondu jsou prostředky, které nejsou nakonfigurované pro izolaci. Skupiny úloh s MIN_PERCENTAGE_RESOURCE nastavenou na nulu využívají prostředky ve sdíleném fondu ke spouštění požadavků. Skupiny úloh s CAP_PERCENTAGE_RESOURCE větší než MIN_PERCENTAGE_RESOURCE také používaly sdílené prostředky. Množství prostředků dostupných ve sdíleném fondu se vypočítá následujícím způsobem.

[Sdílený fond] = 100 - [součet napříč MIN_PERCENTAGE_RESOURCE všemi skupinami úloh]

Přístup k prostředkům ve sdíleném fondu se přiděluje na základě důležitosti . Žádosti se stejnou úrovní důležitosti budou mít přístup k prostředkům sdíleného fondu při prvním přihlášení nebo prvním ven.

Další kroky