Sdílet prostřednictvím


Optimalizace výkonu prostředí Azure Integration Runtime

Toky dat běží v clusterech Sparku, které se spouští za běhu. Konfigurace použitého clusteru je definována v prostředí Integration Runtime (IR) aktivity. Při definování prostředí Integration Runtime existují tři aspekty výkonu: typ clusteru, velikost clusteru a doba provozu.

Další informace o tom, jak vytvořit prostředí Integration Runtime, najdete v tématu Integration Runtime.

Nejjednodušší způsob, jak začít s prostředími pro integraci toku dat Integration Runtime, je vybrat si z výběru velikosti výpočetního modulu malé, střední nebo velké. Podívejte se na mapování na konfigurace clusteru pro tyto velikosti níže.

Velikost clusteru

Toky dat distribuují zpracování dat přes různá jádra v clusteru Spark, aby prováděly operace paralelně. Cluster Spark s více jádry zvyšuje počet jader ve výpočetním prostředí. Více jader zvyšuje výpočetní výkon toku dat. Zvětšení velikosti clusteru je často snadný způsob, jak zkrátit dobu zpracování.

Výchozí velikost clusteru je čtyři jádra ovladačů a čtyři pracovní jádra (malá). Při zpracování většího množství dat se doporučují větší skupiny. Níže jsou uvedené možné možnosti velikosti:

Pracovní jádra Jádra ovladačů Celkový počet jader Poznámky
4 4 8 Malý
8 8 16 Středně
16 16 32 Velké
32 16 48
64 16 80
128 16 144
256 16 272

Toky dat se účtují na základě hodin výpočetních jader (vCore-hrs), což znamená, že velikost clusteru i doba provádění ovlivňují cenu. Při rozšiřování se zvýší náklady na cluster za minutu, ale celkový čas se sníží.

Návod

Existuje strop, jak velká velikost clusteru ovlivňuje výkon toku dat. V závislosti na velikosti dat existuje bod, kdy zvětšení velikosti clusteru zastaví zvýšení výkonu. Pokud máte například více jader než oddíly dat, nepomůže vám přidání dalších jader. Osvědčeným postupem je začít s malými a vertikálně navyšovat kapacitu tak, aby vyhovovala vašim požadavkům na výkon.

Vlastní oddíl míchání

Tok dat rozdělí data do oddílů a transformuje je pomocí různých procesů. Pokud je velikost dat v oddílu větší, než může proces uchovávat v paměti, proces selže s chybami OOM (nedostatek paměti). Pokud tok dat obsahuje velké objemy dat, která zahrnují spojení/agregace, můžete zkusit inkrementálním způsobem měnit partice pro přeskupování. Můžete ho nastavit z 50 až 2000, abyste se vyhnuli chybám OOM. Vlastní výpočetní vlastnosti v prostředí toku dat je způsob, jak řídit požadavky na výpočetní prostředky. Název vlastnosti je Shuffle partitions a je to celočíselný typ. Toto přizpůsobení by se mělo použít jenom ve známých scénářích, jinak může způsobit zbytečné selhání toku dat.

Při zvyšování počtu oddílů pro promíchání zajistěte, aby byla data rovnoměrně rozdělená. Hrubým číslem je přibližně 1,5 GB dat na oddíl. Pokud jsou data zkreslená, zvýšení počtu oddílů shuffle nepomůže. Pokud máte například 500 GB dat, měla by fungovat hodnota 400 až 500. Výchozí limit pro oddíly náhodného prohazování je 200, což je vhodné pro přibližně 300 GB dat.

  1. Na portálu ADF v části Spravovat vyberte vlastní dobu spuštění integrace a přejděte do režimu úprav.
  2. Na kartě Doba běhu toku dat přejděte do části Výpočty vlastních vlastností .
  3. Vyberte Shuffle partitions v části Název vlastnosti, zadejte hodnotu podle vašeho výběru, například 250, 500 atd.

Můžete udělat totéž úpravou souboru JSON běhového prostředí přidáním pole s názvem vlastnosti a hodnotou po existující vlastnosti, jako je například vlastnost vyčištění.

Doba života

Ve výchozím nastavení se každá aktivita toku dat spustí na novém clusteru Spark na základě konfigurace Microsoft Azure IR. Doba spuštění studeného clusteru trvá několik minut a zpracování dat se nedá spustit, dokud se nedokončí. Pokud vaše kanály obsahují několik sekvenčních toků dat, můžete povolit hodnotu TTL (Time to Live). Specifikace hodnoty časové životnosti (time to live) udržuje cluster naživu po určitou dobu po dokončení jeho spuštění. Pokud nová úloha začne používat prostředí IR v době TTL, znovu použije existující cluster a doba spuštění se výrazně sníží. Po dokončení druhé úlohy cluster znovu zůstane aktivní po dobu TTL.

Pokud se ale většina toků dat spouští paralelně, nedoporučuje se povolit hodnotu TTL pro prostředí IR, které pro tyto aktivity používáte. Na jednom clusteru může současně běžet jenom jedna úloha. Pokud je k dispozici cluster, ale spustí se dva toky dat, bude aktivní cluster používat jenom jeden. Druhá úloha bude spouštět svůj vlastní izolovaný cluster.

Poznámka:

Při použití prostředí Integration Runtime automatického vyhodnocování (výchozí) není doba životnosti k dispozici.

Další články o toku dat související s výkonem: