Udostępnij za pośrednictwem


Konwertowanie klas zasobów na grupy obciążeń

Grupy obciążeń zapewniają mechanizm izolowania i przechowywania zasobów systemowych. Ponadto grupy obciążeń umożliwiają ustawianie reguł wykonywania dla uruchomionych w nich żądań. Reguła wykonywania limitu czasu zapytania umożliwia anulowanie zapytań wybiegu bez interwencji użytkownika. W tym artykule wyjaśniono, jak podjąć istniejącą klasę zasobów i utworzyć grupę obciążeń z podobną konfiguracją. Ponadto jest dodawana opcjonalna reguła limitu czasu zapytania.

Uwaga

Zobacz sekcję Mieszanie przypisań klas zasobów z klasyfikatorami w dokumencie pojęcia klasyfikacji obciążenia, aby uzyskać wskazówki dotyczące korzystania z grup obciążeń i klas zasobów w tym samym czasie.

Opis istniejącej konfiguracji klasy zasobów

Grupy obciążeń wymagają parametru o nazwie REQUEST_MIN_RESOURCE_GRANT_PERCENT , który określa procent ogólnych zasobów systemowych przydzielonych na żądanie. Alokacja zasobów jest wykonywana dla klas zasobów przez przydzielanie miejsc współbieżności. Aby określić wartość, która ma być określona dla REQUEST_MIN_RESOURCE_GRANT_PERCENTelementu , użyj sys.dm_workload_management_workload_groups_stats widoku DMV. Na przykład poniższe zapytanie zwraca wartość, która może służyć do REQUEST_MIN_RESOURCE_GRANT_PERCENT utworzenia grupy obciążeń podobnej do staticrc40.

SELECT Request_min_resource_grant_percent = Effective_request_min_resource_grant_percent
  FROM sys.dm_workload_management_workload_groups_stats
  WHERE name = 'staticrc40'

Uwaga

Grupy obciążeń działają na podstawie procentu ogólnych zasobów systemowych.

Ponieważ grupy obciążeń działają na podstawie procentu ogólnych zasobów systemowych, w miarę skalowania w górę i w dół procent zasobów przydzielonych do statycznych klas zasobów w stosunku do ogólnych zmian zasobów systemowych. Na przykład staticrc40 w dw1000c przydziela 19,2% ogólnych zasobów systemowych. Przy dw2000c przydzielane jest 9,6%. Ten model jest podobny, jeśli chcesz skalować w górę w celu współbieżności w porównaniu z przydzielaniem większej ilości zasobów na żądanie.

Tworzenie grupy obciążeń

Za pomocą znanego REQUEST_MIN_RESOURCE_GRANT_PERCENTpolecenia można utworzyć grupę obciążeń za pomocą składni CREATE WORKLOAD GROUP . Opcjonalnie można określić wartość MIN_PERCENTAGE_RESOURCE większą niż zero, aby odizolować zasoby dla grupy obciążeń. Ponadto możesz opcjonalnie określić CAP_PERCENTAGE_RESOURCE mniej niż 100, aby ograniczyć ilość zasobów, z których może korzystać grupa obciążeń.

Użycie mediumrc jako podstawy dla przykładu poniższy kod ustawia MIN_PERCENTAGE_RESOURCE wartość , aby przeznaczyć 10% zasobów systemowych na wgDataLoads i gwarantuje, że jedno zapytanie będzie mogło działać przez cały czas. CAP_PERCENTAGE_RESOURCE Ponadto jest ustawiona na 40% i ogranicza tę grupę obciążeń do czterech współbieżnych żądań. Po ustawieniu parametru QUERY_EXECUTION_TIMEOUT_SEC na 3600 wszystkie zapytania uruchamiane przez więcej niż 1 godzinę zostaną automatycznie anulowane.

CREATE WORKLOAD GROUP wgDataLoads WITH  
( REQUEST_MIN_RESOURCE_GRANT_PERCENT = 10
 ,MIN_PERCENTAGE_RESOURCE = 10
 ,CAP_PERCENTAGE_RESOURCE = 40
 ,QUERY_EXECUTION_TIMEOUT_SEC = 3600)

Tworzenie klasyfikatora

Wcześniej mapowanie zapytań na klasy zasobów zostało wykonane przy użyciu sp_addrolemember. Aby uzyskać te same funkcje i mapować żądania do grup obciążeń, użyj składni CREATE WORKLOAD CLASSIFIER . Użycie sp_addrolemember umożliwia mapowania zasobów tylko na żądanie na podstawie identyfikatora logowania. Klasyfikator udostępnia dodatkowe opcje oprócz logowania, takie jak: — etykieta — sesja — czas poniższy przykład przypisuje zapytania z AdfLogin identyfikatora logowania, które mają również właściwość OPTION LABEL ustawioną na factloads grupę wgDataLoads obciążeń utworzoną powyżej.

CREATE WORKLOAD CLASSIFIER wcDataLoads WITH  
( WORKLOAD_GROUP = 'wgDataLoads'
 ,MEMBERNAME = 'AdfLogin'
 ,WLM_LABEL = 'factloads')

Testowanie przy użyciu przykładowego zapytania

Poniżej znajduje się przykładowe zapytanie i zapytanie DMV, aby upewnić się, że grupa obciążeń i klasyfikator są poprawnie skonfigurowane.

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

Następne kroki