Az Azure Integration Runtime teljesítményének optimalizálása
Az adatfolyamok futtatáskor felpörögő Spark-fürtökön futnak. A használt fürt konfigurációja a tevékenység integrációs moduljában (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éretek fürtkonfigurációinak leképezéseit.
Fürt mérete
Az adatfolyamok az adatfeldolgozást egy Spark-fürt különböző magjai között osztják el, hogy párhuzamosan hajtsa végre a műveleteket. A több maggal rendelkező Spark-fürtök növelik 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 fürt méretének növelése gyakran egyszerű módszer a feldolgozási idő csökkentésére.
Az alapértelmezett fürtméret négy illesztőmag és négy feldolgozómag (kicsi). További adatok feldolgozásakor nagyobb fürtök használata javasolt. Az alábbiakban a lehetséges méretezési beállításokat találja:
Feldolgozó magok | Illesztőprogram-magok | Összes mag | Jegyzetek |
---|---|---|---|
4 | 4 | 8 | Small |
8 | 8 | 16 | Közepes |
16 | 16 | 32 | Nagy |
32 | 16 | 48 | |
64 | 16 | 80 | |
128 | 16 | 144 | |
256 | 16 | 272 |
Az adatfolyamok ára virtuális mag-óra, ami azt jelenti, hogy mind a fürt mérete, mind a végrehajtási idő tényező ebbe bele van számítva. A vertikális felskálázáskor a fürt percenkénti költsége nő, de a teljes idő csökken.
Tipp.
A fürt méretének felső határa 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 leállítja a teljesítmény növelését. Ha például több maggal rendelkezik, mint adatpartíciókkal, a további magok hozzáadása nem segít. Az ajánlott eljárás a kis méretű és vertikális felskálázás, hogy megfeleljen a teljesítmény igényeinek.
Egyéni shuffle 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 partíciónként körülbelül 1,5 GB adatnak kell rendelkeznie. Ha az adatok eltúlzottak, 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.
- 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.
- Az adatfolyam-futtatási idő lapon lépjen a Számítási egyéni tulajdonságok szakaszra.
- Válassza az Shuffle partíciókat a Tulajdonságnév területen, a választott bemeneti é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.
Élettartam
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 hideg 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 élő érték megadásával a fürt a végrehajtás befejeződé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 életben marad a TTL-idő 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 élő fürtöt. A második feladat elindítja a saját elkülönített fürtjét.
Feljegyzés
Az automatikus feloldási integrációs modul (alapértelmezett) használatakor az élettartam nem érhető el.
Kapcsolódó tartalom
További Adatfolyam teljesítményre vonatkozó cikkek: