Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Skupiny úloh poskytují mechanismus pro izolaci a omezení systémových prostředků. Skupiny úloh navíc umožňují nastavit pravidla spouštění pro požadavky spuštěné v nich. Pravidlo pro časový limit dotazu umožňuje zrušení nekontrolovaných dotazů bez nutnosti zásahu uživatele. Tento článek vysvětluje, jak použít existující třídu prostředků a vytvořit skupinu úloh s podobnou konfigurací. Kromě toho se přidá volitelné pravidlo časového limitu dotazu.
Poznámka:
Pokyny k používání skupin úloh a tříd prostředků najednou najdete v části Kombinování přiřazení tříd prostředků s klasifikátory v dokumentu o klasifikaci úloh .
Understanding the existing resource class configuration
Skupiny úloh vyžadují parametr, REQUEST_MIN_RESOURCE_GRANT_PERCENT
který určuje procento celkových systémových prostředků přidělených na požadavek. Přidělení prostředků se provádí pro třídy prostředků přidělením souběžných slotů. To determine the value to specify for REQUEST_MIN_RESOURCE_GRANT_PERCENT
, use the sys.dm_workload_management_workload_groups_stats DMV. Následující dotaz například vrátí hodnotu, kterou lze pro REQUEST_MIN_RESOURCE_GRANT_PERCENT
parametr použít k vytvoření skupiny úloh podobné staticrc40.
SELECT Request_min_resource_grant_percent = Effective_request_min_resource_grant_percent
FROM sys.dm_workload_management_workload_groups_stats
WHERE name = 'staticrc40'
Poznámka:
Skupiny úloh fungují na základě procenta celkových systémových prostředků.
Vzhledem k tomu, že skupiny úloh fungují na základě procenta celkových systémových prostředků, při škálování nahoru a dolů se mění procento prostředků přidělených statickým třídám prostředků vzhledem k celkovým systémovým prostředkům. For example, staticrc40 at DW1000c allocates 19.2% of the overall system resources. At DW2000c, 9.6% are allocated. This model is similar if you wish to scale up for concurrency versus allocating more resources per request.
Vytvoření skupiny úloh
Pomocí známé REQUEST_MIN_RESOURCE_GRANT_PERCENT
syntaxe CREATE WORKLOAD GROUP můžete vytvořit skupinu úloh. Volitelně můžete zadat MIN_PERCENTAGE_RESOURCE
, které je větší než nula, pro izolaci prostředků pro skupinu úloh. Volitelně můžete také zadat CAP_PERCENTAGE_RESOURCE
méně než 100, abyste omezili množství prostředků, které může skupina úloh využívat.
Using mediumrc as a basis for an example, the below code sets the MIN_PERCENTAGE_RESOURCE
to dedicate 10% of the system resources to wgDataLoads
and guarantees one query will be able to run all the times. Kromě toho CAP_PERCENTAGE_RESOURCE
je nastavena na 40% a omezuje tuto skupinu úloh na čtyři souběžné požadavky. Nastavením parametru QUERY_EXECUTION_TIMEOUT_SEC
na 3600 se všechny dotazy, které běží déle než 1 hodinu, automaticky zruší.
CREATE WORKLOAD GROUP wgDataLoads WITH
( REQUEST_MIN_RESOURCE_GRANT_PERCENT = 10
,MIN_PERCENTAGE_RESOURCE = 10
,CAP_PERCENTAGE_RESOURCE = 40
,QUERY_EXECUTION_TIMEOUT_SEC = 3600)
Vytvoření klasifikátoru
Previously, the mapping of queries to resource classes was done with sp_addrolemember. Pokud chcete dosáhnout stejné funkčnosti a namapovat požadavky na skupiny úloh, použijte syntaxi CREATE WORKLOAD CLASSIFIER . Using sp_addrolemember only allowed you to map resources to a request based on a login. A classifier provides additional options besides login, such as: - label - session - time The below example assigns queries from the AdfLogin
login that also have the OPTION LABEL set to factloads
to the workload group wgDataLoads
created above.
CREATE WORKLOAD CLASSIFIER wcDataLoads WITH
( WORKLOAD_GROUP = 'wgDataLoads'
,MEMBERNAME = 'AdfLogin'
,WLM_LABEL = 'factloads')
Testování pomocí ukázkového dotazu
Níže je ukázkový dotaz a dotaz DMV, který zajistí správnou konfiguraci skupiny úloh a klasifikátoru.
SELECT SUSER_SNAME() --should be 'AdfLogin'
--change to a valid table AdfLogin has access to
SELECT TOP 10 *
FROM nation
OPTION (label='factloads')
SELECT request_id, [label], classifier_name, group_name, command
FROM sys.dm_pdw_exec_requests
WHERE [label] = 'factloads'
ORDER BY submit_time DESC