Optymalizowanie wydajności usługi Azure Integration Runtime

Przepływy danych są uruchamiane w klastrach Spark, które są uruchamiane w czasie wykonywania. Konfiguracja używanego klastra jest definiowana w środowisku Integration Runtime (IR) działania. Podczas definiowania środowiska Integration Runtime należy wziąć pod uwagę trzy zagadnienia dotyczące wydajności: typ klastra, rozmiar klastra i czas wygaśnięcia.

Aby uzyskać więcej informacji na temat tworzenia Integration Runtime, zobacz Integration Runtime.

Najprostszym sposobem rozpoczęcia pracy z środowiskami Integration Runtime przepływu danych jest wybranie małych, średnich lub dużych z selektora rozmiaru obliczeniowego. Zobacz mapowania na konfiguracje klastra, aby uzyskać te rozmiary poniżej.

Typ klastra

Istnieją dwie dostępne opcje dla typu klastra Spark, które mają być używane: zoptymalizowane pod kątem pamięci ogólnego przeznaczenia & .

Klastry ogólnego przeznaczenia są domyślnym wyborem i będą idealne dla większości obciążeń przepływu danych. Zwykle są to najlepsza równowaga wydajności i kosztów.

Jeśli przepływ danych zawiera wiele sprzężeń i odnośników, warto użyć klastra zoptymalizowanego pod kątem pamięci . Klastry zoptymalizowane pod kątem pamięci mogą przechowywać więcej danych w pamięci i zminimalizować wszelkie błędy braku pamięci, które mogą wystąpić. Zoptymalizowane pod kątem pamięci mają najwyższy punkt cenowy na rdzeń, ale również mają tendencję do udanych potoków. Jeśli podczas wykonywania przepływów danych wystąpią jakiekolwiek błędy braku pamięci, przełącz się do konfiguracji środowiska Azure IR zoptymalizowanej pod kątem pamięci.

Rozmiar klastra

Przepływy danych dystrybuują przetwarzanie danych na różnych węzłach w klastrze Spark w celu równoległego wykonywania operacji. Klaster Spark z większą liczbą rdzeni zwiększa liczbę węzłów w środowisku obliczeniowym. Więcej węzłów zwiększa moc obliczeniową przepływu danych. Zwiększenie rozmiaru klastra jest często łatwym sposobem skrócenia czasu przetwarzania.

Domyślny rozmiar klastra to cztery węzły sterowników i cztery węzły procesu roboczego (małe). Podczas przetwarzania większej ilości danych zalecane są większe klastry. Poniżej przedstawiono możliwe opcje ustalania rozmiaru:

Węzły procesu roboczego Węzły sterowników Łączna liczba węzłów Uwagi
4 4 8 Mały
8 8 16 Śred.
16 16 32
32 16 48
64 16 80 Duży
128 16 144
256 16 272

Przepływy danych są wyceniane w godzinach wirtualnych, co oznacza, że zarówno rozmiar klastra, jak i czas wykonywania. Podczas skalowania w górę koszt klastra na minutę wzrośnie, ale całkowity czas się zmniejszy.

Porada

Istnieje limit rozmiaru klastra, który wpływa na wydajność przepływu danych. W zależności od rozmiaru danych istnieje punkt, w którym zwiększenie rozmiaru klastra przestanie poprawiać wydajność. Jeśli na przykład masz więcej węzłów niż partycje danych, dodanie dodatkowych węzłów nie pomoże. Najlepszym rozwiązaniem jest rozpoczęcie małych i skalowanych w górę w celu spełnienia wymagań dotyczących wydajności.

Niestandardowa partycja mieszania

Przepływ danych dzieli dane na partycje i przekształca je przy użyciu różnych procesów. Jeśli rozmiar danych w partycji jest większy niż proces może przechowywać w pamięci, proces kończy się niepowodzeniem z błędami OOM (brak pamięci). Jeśli przepływ danych zawiera ogromne ilości danych ze sprzężeniami/agregacjami, warto spróbować zmienić partycje mieszania w sposób przyrostowy. Można ustawić go z zakresu od 50 do 2000, aby uniknąć błędów OOM. Właściwości niestandardowe obliczeniowe w środowisku uruchomieniowym przepływu danych to sposób kontrolowania wymagań obliczeniowych. Nazwa właściwości to partycje shuffle i jest typem całkowitym. To dostosowanie powinno być używane tylko w znanych scenariuszach. W przeciwnym razie może to spowodować niepotrzebne błędy przepływu danych.

Jednocześnie zwiększając partycje mieszania, upewnij się, że dane są rozłożone na całej platformie. Przybliżona liczba to około 1,5 GB danych na partycję. Jeśli dane są niesymetryczne, zwiększenie wartości "Partycje shuffle" nie będzie pomocne. Jeśli na przykład masz 500 GB danych, powinna działać wartość z zakresu od 400 do 500. Domyślny limit dla partycji mieszania wynosi 200, co dobrze sprawdza się w przypadku około 300 GB danych.

Poniżej przedstawiono procedurę ustawiania jej w niestandardowym środowisku Integration Runtime. Nie można ustawić go dla środowiska uruchomieniowego integrtaion autoresolve.

  1. W portalu usługi ADF w obszarze Zarządzanie wybierz niestandardowy czas wykonywania integracji i przejdź do trybu edycji.
  2. Na karcie Czas wykonywania przepływu danych przejdź do sekcji Właściwości niestandardowe obliczeń .
  3. Wybierz pozycję Partycje mieszania w obszarze Nazwa właściwości, wybrana wartość wejściowa, na przykład 250, 500 itp.

Możesz to zrobić, edytując plik JSON środowiska uruchomieniowego, dodając tablicę z nazwą właściwości i wartością po istniejącej właściwości, takiej jak oczyszczanie właściwości.

Czas wygaśnięcia

Domyślnie każde działanie przepływu danych uruchamia nowy klaster Spark na podstawie konfiguracji środowiska Azure IR. Czas uruchamiania klastra zimnego zajmuje kilka minut, a przetwarzanie danych nie może rozpocząć się, dopóki nie zostanie ukończone. Jeśli potoki zawierają wiele przepływów danych sekwencyjnych , możesz włączyć czas wygaśnięcia (TTL). Określenie czasu wygaśnięcia zachowuje przy życiu klaster przez określony czas po zakończeniu jego wykonywania. Jeśli nowe zadanie rozpocznie korzystanie z środowiska IR w czasie wygaśnięcia, ponownie użyje istniejącego klastra i znacznie skróci czas uruchamiania. Po zakończeniu drugiego zadania klaster będzie ponownie aktywny przez czas wygaśnięcia.

Jeśli jednak większość przepływów danych jest wykonywana równolegle, nie zaleca się włączenia czasu wygaśnięcia dla środowiska IR używanego dla tych działań. Jednocześnie można uruchomić tylko jedno zadanie w jednym klastrze. Jeśli istnieje dostępny klaster, ale uruchamiane są dwa przepływy danych, tylko jeden z nich będzie używać klastra na żywo. Drugie zadanie spowoduje uruchomienie własnego izolowanego klastra.

Uwaga

Czas wygaśnięcia jest niedostępny w przypadku korzystania z automatycznego rozpoznawania środowiska Integration Runtime (ustawienie domyślne).

Następne kroki

Zobacz inne artykuły Przepływ danych związane z wydajnością: