Udostępnij za pośrednictwem


izolacja grupy obciążeń usługi Azure Synapse Analytics

W tym artykule wyjaśniono, jak grupy obciążeń mogą służyć do konfigurowania izolacji obciążeń, zawierania zasobów i stosowania reguł środowiska uruchomieniowego na potrzeby wykonywania zapytań.

Grupy obciążenia

Grupy obciążeń to kontenery dla zestawu żądań i stanowią podstawę zarządzania obciążeniami, w tym izolacji obciążeń, jest konfigurowana w systemie. Grupy obciążeń są tworzone przy użyciu składni CREATE WORKLOAD GROUP . Prosta konfiguracja zarządzania obciążeniami może zarządzać obciążeniami danych i zapytaniami użytkowników. Na przykład grupa obciążeń o nazwie wgDataLoads zdefiniuje aspekty obciążenia dla danych ładowanych do systemu. Ponadto grupa obciążeń o nazwie wgUserQueries zdefiniuje aspekty obciążenia dla użytkowników uruchomionych zapytań w celu odczytu danych z systemu.

W poniższych sekcjach opisano, jak grupy obciążeń zapewniają możliwość definiowania izolacji, zawierania, definicji zasobów żądania i przestrzegania reguł wykonywania.

Nadzór nad zasobami

Grupy obciążeń zarządzają zasobami pamięci i procesora CPU. Dyski i sieciowe we/wy, a także baza danych tempdb nie podlegają. Zarządzanie zasobami dla pamięci i procesora CPU jest następujące:

Pamięć jest zarządzana na poziomie żądania i przechowywana przez cały czas trwania żądania. Aby uzyskać więcej informacji na temat konfigurowania ilości pamięci na żądanie, zobacz Definicje zasobów na żądanie. Parametr MIN_PERCENTAGE_RESOURCE dla grupy obciążeń dedykuje pamięć wyłącznie do tej grupy obciążeń. Parametr CAP_PERCENTAGE_RESOURCE dla grupy obciążeń jest twardym limitem pamięci, z których może korzystać grupa obciążeń.

Zasoby procesora CPU są zarządzane na poziomie grupy obciążeń i współużytkowane przez wszystkie żądania w grupie obciążeń. Zasoby procesora CPU są płynne w porównaniu z pamięcią, która jest przeznaczona do żądania na czas trwania wykonywania. Biorąc pod uwagę, że procesor jest zasobem płynnym, nieużywane zasoby procesora CPU mogą być używane przez wszystkie grupy obciążeń. Oznacza to, że użycie procesora CPU może przekroczyć parametr CAP_PERCENTAGE_RESOURCE dla grupy obciążeń. Oznacza to również, że parametr MIN_PERCENTAGE_RESOURCE dla grupy obciążeń nie jest twardą rezerwacją, taką jak pamięć. Gdy zasoby procesora CPU są objęte rywalizacją, użycie będzie zgodne z definicją CAP_PERCENTAGE_RESOURCE dla grup obciążeń.

Izolacja obciążeń

Izolacja obciążenia oznacza, że zasoby są zarezerwowane wyłącznie dla grupy obciążeń. Izolacja obciążenia jest osiągana przez skonfigurowanie parametru MIN_PERCENTAGE_RESOURCE na wartość większą niż zero w składni CREATE WORKLOAD GROUP . W przypadku obciążeń ciągłego wykonywania, które muszą być zgodne ze ścisłymi umowami SLA, izolacja zapewnia, że zasoby są zawsze dostępne dla grupy obciążeń.

Konfigurowanie izolacji obciążenia niejawnie definiuje gwarantowany poziom współbieżności. Na przykład grupa obciążeń z MIN_PERCENTAGE_RESOURCE ustawiona na 30%, a REQUEST_MIN_RESOURCE_GRANT_PERCENT ustawiona na 2% gwarantuje 15 współbieżności. Gwarantowany jest poziom współbieżności, ponieważ przez cały czas zarezerwowano 15–2% miejsc zasobów (niezależnie od tego, jak skonfigurowano REQUEST_MAX_RESOURCE_GRANT_PERCENT). Jeśli REQUEST_MAX_RESOURCE_GRANT_PERCENT jest większa niż REQUEST_MIN_RESOURCE_GRANT_PERCENT, a CAP_PERCENTAGE_RESOURCE jest większa niż MIN_PERCENTAGE_RESOURCE dodatkowe zasoby można dodać na żądanie (na podstawie dostępności zasobów). Jeśli REQUEST_MAX_RESOURCE_GRANT_PERCENT i REQUEST_MIN_RESOURCE_GRANT_PERCENT są równe, a CAP_PERCENTAGE_RESOURCE jest większa niż MIN_PERCENTAGE_RESOURCE, możliwa jest dodatkowa współbieżność. Rozważmy poniższą metodę określania gwarantowanej współbieżności:

[Gwarantowana współbieżność] = [MIN_PERCENTAGE_RESOURCE] / [REQUEST_MIN_RESOURCE_GRANT_PERCENT]

Uwaga

Istnieją określone wartości minimalne poziomu usług dla min_percentage_resource. Aby uzyskać więcej informacji, zobacz Efektywne wartości , aby uzyskać więcej informacji.

W przypadku braku izolacji obciążeń żądania działają w udostępnionej puli zasobów. Dostęp do zasobów w puli udostępnionej nie jest gwarantowany i jest przypisywany na zasadzie ważności .

Skonfigurowanie izolacji obciążenia powinno odbywać się ostrożnie, ponieważ zasoby są przydzielane do grupy obciążeń, nawet jeśli w grupie obciążeń nie ma aktywnych żądań. Nadmierna izolacja może prowadzić do zmniejszenia ogólnego wykorzystania systemu.

Użytkownicy powinni unikać rozwiązania do zarządzania obciążeniami, które konfiguruje 100% izolacji obciążeń: 100% izolacja jest osiągana, gdy suma min_percentage_resource skonfigurowana we wszystkich grupach obciążeń wynosi 100%. Ten typ konfiguracji jest zbyt restrykcyjny i sztywny, pozostawiając mało miejsca na żądania zasobów, które zostały przypadkowo błędnie sklasyfikowane. Istnieje aprowizacja umożliwiająca wykonanie jednego żądania z grup obciążeń nieskonfigurowane pod kątem izolacji. Zasoby przydzielone do tego żądania będą wyświetlane jako zero w dynamicznych widokach zarządzania systemami i pożyczają niewielki poziom przyznawania zasobów z zasobów zarezerwowanych przez system.

Uwaga

Aby zapewnić optymalne wykorzystanie zasobów, rozważ rozwiązanie do zarządzania obciążeniami, które wykorzystuje pewną izolację, aby upewnić się, że umowy SLA są spełnione i mieszane z zasobami udostępnionymi, do których uzyskuje się dostęp na podstawie ważności obciążenia.

Zawieranie obciążeń

Zawieranie obciążeń odnosi się do ograniczania ilości zasobów, które może zużywać grupa obciążeń. Zawieranie obciążeń jest osiągane przez skonfigurowanie parametru CAP_PERCENTAGE_RESOURCE na wartość mniejszą niż 100 w składni CREATE WORKLOAD GROUP . Rozważmy scenariusz, w którym użytkownicy potrzebują dostępu do odczytu do systemu, aby mogli uruchomić analizę warunkową za pośrednictwem zapytań ad hoc. Tego typu żądania mogą mieć negatywny wpływ na inne obciążenia uruchomione w systemie. Konfigurowanie zawierania gwarantuje, że ilość zasobów jest ograniczona.

Konfigurowanie zawierania obciążeń niejawnie definiuje maksymalny poziom współbieżności. W przypadku CAP_PERCENTAGE_RESOURCE ustawionego na 60% i REQUEST_MIN_RESOURCE_GRANT_PERCENT ustawionego na 1%, do poziomu 60 współbieżności jest dozwolony dla grupy obciążeń. Rozważ poniższą metodę określania maksymalnej współbieżności:

[Maksymalna współbieżność] = [CAP_PERCENTAGE_RESOURCE] / [REQUEST_MIN_RESOURCE_GRANT_PERCENT]

Uwaga

Efektywna CAP_PERCENTAGE_RESOURCE grupy obciążeń nie osiągnie 100%, gdy są tworzone grupy obciążeń z MIN_PERCENTAGE_RESOURCE na poziomie większym niż zero. Zobacz sys.dm_workload_management_workload_groups_stats , aby uzyskać efektywne wartości środowiska uruchomieniowego.

Zasoby na definicję żądania

Grupy obciążeń zapewniają mechanizm definiowania minimalnej i maksymalnej ilości zasobów przydzielonych na żądanie za pomocą parametrów REQUEST_MIN_RESOURCE_GRANT_PERCENT i REQUEST_MAX_RESOURCE_GRANT_PERCENT w składni CREATE WORKLOAD GROUP . Zasób w tym przypadku to pamięć. Nadzór nad zasobami procesora CPU jest omówiony w sekcji Zarządzanie zasobami .

Uwaga

REQUEST_MAX_RESOURCE_GRANT_PERCENT jest opcjonalnym parametrem, który domyślnie określa tę samą wartość, która jest określona dla REQUEST_MIN_RESOURCE_GRANT_PERCENT.

Podobnie jak w przypadku wybierania klasy zasobów, konfigurowanie REQUEST_MIN_RESOURCE_GRANT_PERCENT ustawia wartość zasobów używanych przez żądanie. Ilość zasobów wskazanych przez ustawioną wartość jest gwarantowana dla alokacji do żądania przed rozpoczęciem wykonywania. W przypadku klientów migrujących z klas zasobów do grup obciążeń rozważ wykonanie czynności opisane w artykule How To mapowanie z klas zasobów do grup obciążeń jako punktu wyjścia.

Skonfigurowanie REQUEST_MAX_RESOURCE_GRANT_PERCENT do wartości większej niż REQUEST_MIN_RESOURCE_GRANT_PERCENT umożliwia systemowi przydzielanie większej ilości zasobów na żądanie. Podczas planowania żądania system określa rzeczywistą alokację zasobów do żądania, czyli między REQUEST_MIN_RESOURCE_GRANT_PERCENT a REQUEST_MAX_RESOURCE_GRANT_PERCENT, na podstawie dostępności zasobów w puli udostępnionej i bieżącego obciążenia systemu. Zasoby muszą istnieć w udostępnionej puli zasobów, gdy zapytanie jest zaplanowane.

Uwaga

REQUEST_MIN_RESOURCE_GRANT_PERCENT i REQUEST_MAX_RESOURCE_GRANT_PERCENT mają efektywne wartości zależne od efektywnych wartości MIN_PERCENTAGE_RESOURCE i CAP_PERCENTAGE_RESOURCE. Zobacz sys.dm_workload_management_workload_groups_stats , aby uzyskać efektywne wartości środowiska uruchomieniowego.

Reguły wykonywania

W systemach raportowania ad hoc klienci mogą przypadkowo wykonywać wybiegalne zapytania, które poważnie wpływają na produktywność innych osób. Administratorzy systemu są zmuszeni do poświęcania czasu na zabijanie uciekających zapytań w celu zwolnienia zasobów systemowych. Grupy obciążeń oferują możliwość skonfigurowania reguły limitu czasu wykonywania zapytania w celu anulowania zapytań, które przekroczyły określoną wartość. Reguła jest konfigurowana przez ustawienie parametru QUERY_EXECUTION_TIMEOUT_SEC w składni CREATE WORKLOAD GROUP .

Zasoby puli udostępnionej

Zasoby puli udostępnionej to zasoby nieskonfigurowane pod kątem izolacji. Grupy obciążeń z MIN_PERCENTAGE_RESOURCE ustawione na zero wykorzystania zasobów w puli udostępnionej do wykonywania żądań. Grupy obciążeń z CAP_PERCENTAGE_RESOURCE większym niż MIN_PERCENTAGE_RESOURCE również używane zasoby udostępnione. Ilość zasobów dostępnych w puli udostępnionej jest obliczana w następujący sposób.

[Pula udostępniona] = 100 — [suma MIN_PERCENTAGE_RESOURCE wszystkich grup obciążeń]

Dostęp do zasobów w puli udostępnionej jest przydzielany na podstawie ważności . Żądania o takim samym poziomie ważności będą uzyskiwać dostęp do zasobów puli udostępnionej w pierwszej/pierwszej kolejności.

Następne kroki