Az Azure Integration Runtime teljesítményének optimalizálása

Az adatfolyamok futtatása futásidőben elindított Spark-fürtökön történik. A használt fürt konfigurációja a tevékenység integrációs futtatókörnyezetben (IR) van definiálva. Az integrációs futtatókörnyezet meghatározásakor három teljesítménybeli szempontot kell figyelembe venni: a fürt típusát, a fürt méretét és az élettartamot.

Az integrációs modul létrehozásáról további információt az Integrációs modul című témakörben talál.

Az adatfolyam-integrációs futtatókörnyezetek használatának legegyszerűbb módja a kis, közepes vagy nagy méretű számítási méret kiválasztása. Tekintse meg az alábbi méretekhez tartozó fürtkonfigurációk leképezéseit.

Fürt mérete

Az adatfolyamok elosztják az adatfeldolgozást egy Spark-fürt különböző magjai között, hogy a műveleteket párhuzamosan hajtsák végre. Egy több maggal rendelkező Spark-fürt növeli a számítási környezet magjainak számát. További magok növelik az adatfolyam feldolgozási teljesítményét. A klaszter méretének növelése gyakran egyszerű módja a feldolgozási idő csökkentésének.

Az alapértelmezett fürtméret négy illesztőmag és négy feldolgozómag (kicsi). További adatok feldolgozásakor nagyobb klaszterek használata javasolt. Az alábbiakban a lehetséges méretezési beállításokat találja:

Munkásmagok Illesztőprogram-magok Összes mag Jegyzetek
4 4 8 Kicsi
8 8 16 Közepes
16 16 32 Nagy
32 16 48
64 16 80
128 16 144
256 16 272

Az adatfolyamok árazása virtuális mag-órában történik, ami azt jelenti, hogy ebben mind a fürt mérete, mind a végrehajtási idő szerepet játszik. Ahogy felskáláz, a fürt percenkénti költsége nő, de a teljes idő csökken.

Jótanács

A fürt méretének korlátja van arra, hogy mennyire befolyásolja az adatfolyam teljesítményét. Az adatok méretétől függően van egy pont, ahol a fürt méretének növelése már nem javítja tovább a teljesítményt. Ha például több maggal rendelkezik, mint adatpartíciókkal, a további magok hozzáadása nem segít. Egy bevált gyakorlat az, ha kicsiben kezdünk, majd fokozatosan bővítjük a kapacitást a teljesítmény igények kielégítésére.

Egyéni keverési partíció

Az adatfolyam partíciókra osztja az adatokat, és különböző folyamatok használatával alakítja át őket. Ha egy partíció adatmérete nagyobb, mint amennyit a folyamat tárolhat a memóriában, a folyamat OOM(memóriahiányos) hibákkal meghiúsul. Ha az adatfolyam nagy mennyiségű adatot tartalmaz illesztésekkel/összesítésekkel, érdemes lehet növekményes módon módosítani az shuffle partíciókat. Az OOM-hibák elkerülése érdekében 50-től 2000-ig állíthatja be. Az adatfolyam-futtatókörnyezetben található egyéni számítási tulajdonságok a számítási követelmények szabályozásának egyik módja. A tulajdonság neve shuffle partíció, és egész szám típusú. Ezt a testreszabást csak ismert forgatókönyvekben szabad használni, különben szükségtelen adatfolyam-hibákat okozhat.

Az shuffle partíciók növelése közben győződjön meg arról, hogy az adatok jól elosztva találhatók. Egy hozzávetőleges számítás szerint partíciónként körülbelül 1,5 GB adat szükséges. Ha az adatok ferdítettek, a "Shuffle partíciók" növelése nem lesz hasznos. Ha például 500 GB adat áll rendelkezésére, 400 és 500 közötti értéknek kell működnie. A partíciók keverésének alapértelmezett határa 200, ami körülbelül 300 GB adat esetén jól működik.

  1. Az ADF-portál Kezelés területén válassza ki az egyéni integrációs futási időt, és lépjen a szerkesztési módba.
  2. Az adatfolyam-futtatási idő lapon lépjen a Számítási egyéni tulajdonságok szakaszra.
  3. Válassza az Shuffle partíciókat a Tulajdonságnév területen, írja be az Ön által választott értéket, például 250, 500 stb.

Ugyanezt megteheti úgy is, hogy szerkeszti a futtatókörnyezet JSON-fájlját, ha hozzáad egy tulajdonságnevet és értéket tartalmazó tömböt egy meglévő tulajdonság, például a törlési tulajdonság után.

Az élethez való idő

Alapértelmezés szerint minden adatfolyam-tevékenység létrehoz egy új Spark-fürtöt az Azure IR-konfiguráció alapján. A hidegindítású fürt indítási ideje néhány percet vesz igénybe, és az adatfeldolgozás nem indulhat el, amíg be nem fejeződik. Ha a folyamatok több szekvenciális adatfolyamot tartalmaznak, engedélyezheti az élettartam (TTL) értékét. Az élettartam-érték megadásával a fürt a végrehajtás befejezése után egy bizonyos ideig életben marad. Ha egy új feladat a TTL ideje alatt kezdi el használni az integrációs modult, az újra felhasználja a meglévő fürtöt, és az indítási idő jelentősen csökken. A második feladat befejeződése után a fürt ismét aktív marad a TTL időtartam alatt.

Ha azonban az adatfolyamok többsége párhuzamosan fut, nem ajánlott engedélyezni a TTL-t az adott tevékenységekhez használt integrációs modulhoz. Egyszerre csak egy feladat futtatható egyetlen fürtön. Ha van elérhető fürt, de két adatfolyam indul el, csak egy fogja használni az aktív fürtöt. A második feladat elindítja a saját elkülönített fürtjét.

Megjegyzés

Amikor az automatikus feloldási integrációs modult (alapértelmezett) használják, a "Time to live" nem érhető el.

Tekintse meg a teljesítményre vonatkozó egyéb adatfolyam-cikkeket: