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 Integration Runtime toku dat, je vybrat si z výběru velikosti výpočetních prostředků malé, střední nebo velké. Následující velikosti najdete v mapování na konfigurace clusteru.
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 počtu dat se doporučuje větší clustery. Níže jsou uvedené možné možnosti velikosti:
Pracovní jádra | Jádra ovladačů | Total Cores | Notes |
---|---|---|---|
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í za počet hodin virtuálních jader, což znamená, že velikost clusteru i doba provádění jsou do tohoto faktoru. Při vertikálním navýšení kapacity se zvýší náklady na cluster za minutu, ale celkový čas se sníží.
Tip
Existuje strop, jak velká velikost clusteru ovlivňuje výkon toku dat. V závislosti na velikosti dat existuje bod, kdy zvýšení velikosti clusteru zastaví zvýšení výkonu. Pokud například máte více jader než oddíly dat, přidání dalších jader nepomůže. 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 náhodného náhodného prohazová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á mají spojení/agregace, můžete zkusit postupně měnit oddíly náhodného prohazování. Můžete ho nastavit z 50 až 2000, abyste se vyhnuli chybám OOM. Výpočetní vlastní vlastnosti v modulu runtime toku dat je způsob, jak řídit požadavky na výpočetní prostředky. Název vlastnosti je oddíly shuffle a jedná se o celočíselné typy. 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ů náhodného prohazování se ujistěte, že se data dobře rozprostírají. Hrubým číslem je přibližně 1,5 GB dat na oddíl. Pokud se data zkosí, zvýšení počtu oddílů shuffle nebude užitečné. Pokud máte například 500 GB dat, měla by fungovat hodnota 400 až 500. Výchozí limit pro oddílů náhodného prohazování je 200, který je vhodný pro přibližně 300 GB dat.
- Na portálu ADF v části Spravovat vyberte vlastní dobu spuštění integrace a přejděte do režimu úprav.
- Na kartě Doba běhu toku dat přejděte do části Výpočty vlastních vlastností .
- V části Název vlastnosti, vstupní hodnotu podle vašeho výběru, například 250, 500 atd.
Můžete to udělat tak, že upravíte soubor JSON modulu runtime přidáním pole s názvem vlastnosti a hodnotou za existující vlastnost, jako je například vlastnost vyčištění .
Hodnota TTL (Time to Live)
Ve výchozím nastavení se každá aktivita toku dat roztáčí do nového clusteru Spark na základě konfigurace Azure IR. Doba spuštění studeného clusteru trvá několik minut a zpracování dat se nemůže 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). Zadání hodnoty time to live udržuje cluster po určitou dobu po dokončení jeho spuštění naživu. 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 se roztáčí s vlastním izolovaným clusterem.
Poznámka:
Při použití prostředí Integration Runtime automatického překladu (výchozí) není čas k dispozici.
Související obsah
Podívejte se na další Tok dat články týkající se výkonu: