Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Workloadgroepen bieden een mechanisme voor het isoleren en bevatten van systeemresources. Bovendien kunt u met workloadgroepen uitvoeringsregels instellen voor de aanvragen die erin worden uitgevoerd. A query timeout execution rule allows runaway queries to be canceled without user intervention. In dit artikel wordt uitgelegd hoe u een bestaande resourceklasse gebruikt en een workloadgroep maakt met een vergelijkbare configuratie. Daarnaast wordt er een optionele time-outregel voor query's toegevoegd.
Opmerking
Zie het gedeelte Resourceklassetoewijzingen combineren met classificaties in het conceptdocument workloadclassificatie voor hulp bij het gebruik van workloadgroepen en resourceklassen tegelijk.
Informatie over de bestaande configuratie van resourceklassen
Voor workloadgroepen is een parameter REQUEST_MIN_RESOURCE_GRANT_PERCENT
vereist die het percentage van de totale systeemresources aangeeft dat per aanvraag is toegewezen. Resourcetoewijzing wordt uitgevoerd voor resourceklassen door concurrentieslots toe te wijzen. To determine the value to specify for REQUEST_MIN_RESOURCE_GRANT_PERCENT
, use the sys.dm_workload_management_workload_groups_stats DMV. De onderstaande query retourneert bijvoorbeeld een waarde die kan worden gebruikt voor de REQUEST_MIN_RESOURCE_GRANT_PERCENT
parameter om een workloadgroep te maken die vergelijkbaar is met staticrc40.
SELECT Request_min_resource_grant_percent = Effective_request_min_resource_grant_percent
FROM sys.dm_workload_management_workload_groups_stats
WHERE name = 'staticrc40'
Opmerking
Workloadgroepen werken op basis van het percentage van de totale systeemresources.
Omdat workloadgroepen werken op basis van het percentage van algemene systeemresources, terwijl u omhoog en omlaag schaalt, verandert het percentage resources dat is toegewezen aan statische resourceklassen ten opzichte van de algehele systeemresources. For example, staticrc40 at DW1000c allocates 19.2% of the overall system resources. At DW2000c, 9.6% are allocated. Dit model is vergelijkbaar als u omhoog wilt schalen voor gelijktijdigheid versus het toewijzen van meer resources per aanvraag.
Create Workload Group
Met de bekende REQUEST_MIN_RESOURCE_GRANT_PERCENT
kunt u de syntaxis CREATE WORKLOAD GROUP gebruiken om de workloadgroep te maken. U kunt desgewenst een waarde MIN_PERCENTAGE_RESOURCE
opgeven die groter is dan nul om resources voor de workloadgroep te isoleren. U kunt desgewenst minder dan 100 opgeven CAP_PERCENTAGE_RESOURCE
om de hoeveelheid resources te beperken die de workloadgroep kan gebruiken.
Met mediumrc als basis voor een voorbeeld stelt de onderstaande code MIN_PERCENTAGE_RESOURCE
in om 10% van de systeembronnen aan wgDataLoads
toe te wijzen en wordt gegarandeerd dat één query altijd kan worden uitgevoerd. Daarnaast wordt CAP_PERCENTAGE_RESOURCE
ingesteld op 40% en beperkt deze workloadgroep tot vier gelijktijdige aanvragen. Als u de QUERY_EXECUTION_TIMEOUT_SEC
parameter instelt op 3600, wordt elke query die langer dan 1 uur wordt uitgevoerd, automatisch geannuleerd.
CREATE WORKLOAD GROUP wgDataLoads WITH
( REQUEST_MIN_RESOURCE_GRANT_PERCENT = 10
,MIN_PERCENTAGE_RESOURCE = 10
,CAP_PERCENTAGE_RESOURCE = 40
,QUERY_EXECUTION_TIMEOUT_SEC = 3600)
De classificatie maken
Voorheen werd de toewijzing van query's aan resourceklassen uitgevoerd met sp_addrolemember. Gebruik de syntaxis CREATE WORKLOAD CLASSIFIER om dezelfde functionaliteit te bereiken en aanvragen toe te wijzen aan workloadgroepen. Met behulp van sp_addrolemember kunt u alleen resources toewijzen aan een aanvraag op basis van een aanmelding. Een classifier biedt naast aanmelding extra opties, zoals: - label - sessie - tijd. In het onderstaande voorbeeld worden query's van de AdfLogin
aanmelding, waarvoor de OPTION LABEL is ingesteld op factloads
, toegewezen aan de hierboven aangemaakte workloadgroep wgDataLoads
.
CREATE WORKLOAD CLASSIFIER wcDataLoads WITH
( WORKLOAD_GROUP = 'wgDataLoads'
,MEMBERNAME = 'AdfLogin'
,WLM_LABEL = 'factloads')
Testen met een voorbeeldquery
Hieronder ziet u een voorbeeldquery en een DMV-query om ervoor te zorgen dat de workloadgroep en classificatie correct zijn geconfigureerd.
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