izolace skupiny úloh Azure Synapse Analytics

Tip

Microsoft Fabric Data Warehouse je relační sklad v podnikovém měřítku na základu datového jezera s architekturou připravenou pro budoucnost, integrovanou AI a novými funkcemi. Pokud s datovými sklady začínáte, začněte pracovat s Fabric Data Warehouse. Stávající úlohy fondu dedikované SQL můžou upgradovat na Fabric a získat tak přístup k novým funkcím napříč datovou vědou, analýzou v reálném čase a reportováním.

Tento článek vysvětluje, jak lze skupiny úloh použít ke konfiguraci izolace úloh, obsahují prostředky a používají pravidla modulu runtime pro provádění dotazů.

Skupiny úloh

Skupiny úloh jsou kontejnery pro sadu požadavků a jsou základem konfigurace 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 pojmenovaná skupina wgDataLoads úloh 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ět dotazy ke čtení dat ze systému.

V následujících částech se dozvíte, jak skupiny úloh poskytují možnost definovat izolaci, omezení, definici prostředku požadavku a dodržovat pravidla provádění.

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

Skupiny úloh řídí prostředky paměti a procesoru. Vstupně-výstupní operace disku a sítě a 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 Prostředky na definici požadavku . Parametr MIN_PERCENTAGE_RESOURCE pro skupinu úloh vyhrazuje paměť této skupině úloh výhradně. Parametr CAP_PERCENTAGE_RESOURCE pro skupinu úloh je pevný limit paměti, kterou může skupina úloh využívat.

Prostředky procesoru jsou řízeny na úrovni skupiny zátěže a sdíleny všemi požadavky v rámci této skupiny. Prostředky procesoru jsou proměnlivé ve srovnání s pamětí, která je vyhrazena pro požadavek po celou dobu jeho provádění. Vzhledem k tomu, že procesor je fluidní prostředek, můžou nepouž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 skupiny úloh. To také znamená, že parametr MIN_PERCENTAGE_RESOURCE pro skupinu úloh není pevná rezervace, jako je paměť. Při soutěži o zdroje CPU se využití přizpůsobí 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 nepřetržitého provozu, které potřebují dodržovat přísné SLA, izolace zajišťuje, že prostředky jsou pro skupinu pracovní zátěže vždy dostupné.

Implicitní konfigurace izolace úloh definuje garantovanou úroveň souběžnosti. Například skupina úloh s MIN_PERCENTAGE_RESOURCE nastavená na 30% a REQUEST_MIN_RESOURCE_GRANT_PERCENT nastavená na 2% má garantováno 15 úrovní souběžnosti. Úroveň souběžnosti je zaručena, protože 15-2% sloty prostředků jsou vždy vyhrazeny 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 na požadavek 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. Při určování zaručené souběžnosti zvažte následující metodu:

[Zaručená souběžnost] = [MIN_PERCENTAGE_RESOURCE] / [REQUEST_MIN_RESOURCE_GRANT_PERCENT]

Poznámka:

Pro min_percentage_resource existují konkrétní minimální hodnoty na úrovni služby. Další informace najdete v Effective Values pro další podrobnosti.

Když chybí izolace pracovního zatížení, požadavky fungují ve sdíleném fondu prostředků. Přístup k prostředkům ve sdíleném fondu není zaručen a je přiřazen na základě důležitosti.

Konfigurace izolace úloh by se měla provádět opatrně, protože prostředky jsou přiděleny skupině úloh, i když ve skupině úloh nejsou žá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 izolaci úloh označenou jako 100%: Izolace 100% je dosažena, když součet min_percentage_resource nakonfigurovaných napříč všemi skupinami úloh odpovídá 100%. Tento typ konfigurace je příliš omezující a pevný, takže je málo místa pro žádosti o prostředky, které jsou omylem nesprávně klasifikovány. Existuje ustanovení umožňující spuštění jednoho požadavku ze skupin úloh, které nejsou nakonfigurované pro izolaci. Prostředky přidělené této žádosti se zobrazí jako nula v systémových zobrazeních dynamické správy a pů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 splnění smluv SLA a jejich kombinace se sdílenými prostředky, ke kterým se přistupuje na základě důležitosti úloh.

Omezení pracovního zatížení

Omezení zátěže znamená omezení počtu prostředků, které může skupina úloh využívat. Omezení úloh se dosahuje konfigurací parametru CAP_PERCENTAGE_RESOURCE na méně než 100 v syntaxi CREATE WORKLOAD GROUP. Představte si scénář, kdy uživatelé potřebují přístup pro čtení do systému, aby mohli provádět analýzu "co kdyby" 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 omezování zajišťuje, že množství prostředků je omezené.

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 povoleno až 60 úrovní souběžnosti. Zvažte níže uvedený způsob určení maximální souběžnosti:

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

Poznámka:

Efektivní CAP_PERCENTAGE_RESOURCE skupiny úloh nedosáhne hodnoty 100% za situace, kdy jsou vytvořeny skupiny úloh s MIN_PERCENTAGE_RESOURCE na úrovni větší než nula. Viz efektivní hodnoty běhu v sys.dm_workload_management_workload_groups_stats.

Prostředky na definování požadavků

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 v tomto případě je 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ý má výchozí hodnotu určenou pro REQUEST_MIN_RESOURCE_GRANT_PERCENT.

Podobně jako při výběru třídy prostředků nastaví konfigurace REQUEST_MIN_RESOURCE_GRANT_PERCENT hodnotu prostředků využívaných požadavkem. Množství prostředků označených nastavenou hodnotou je zaručeno pro přidělení požadavku před zahájením provádění. Pro zákazníky, kteří migrují z tříd prostředků do skupin úloh, zvažte, jak podle článku Postupy namapovat třídy prostředků na skupiny úloh jako výchozí bod.

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 požadavek. Při plánování požadavku systém určuje skutečné přidělení prostředků k požadavku, což 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. Prostředky musí existovat ve sdíleném fondu, pokud je dotaz naplánován.

Poznámka:

REQUEST_MIN_RESOURCE_GRANT_PERCENT a REQUEST_MAX_RESOURCE_GRANT_PERCENT mají efektivní hodnoty, které jsou závislé na efektivních hodnotách MIN_PERCENTAGE_RESOURCE a CAP_PERCENTAGE_RESOURCE. Viz efektivní hodnoty běhu v sys.dm_workload_management_workload_groups_stats.

Pravidla provádění

U systémů pro ad hoc generování sestav mohou zákazníci nechtěně spouštět nezvladatelné dotazy, které vážně narušují produktivitu ostatních. Správci systému jsou nuceni strávit čas zastavováním nekontrolovaných dotazů, aby uvolnili systémové prostředky. Skupiny úloh nabízejí možnost konfigurovat pravidlo časového limitu provádění dotazu pro zrušení dotazů, které překročily zadanou hodnotu. Pravidlo se konfiguruje nastavením parametru QUERY_EXECUTION_TIMEOUT_SEC v syntaxi CREATE WORKLOAD GROUP.

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 je přidělován na základě důležitosti. Požadavky se stejnou úrovní důležitosti přistupují k prostředkům sdíleného fondu na principu prvního dovnitř, prvního ven.

Další kroky