Share via


Stream Analytics-feladatok teljesítményének elemzése metrikák és dimenziók használatával

Az Azure Stream Analytics-feladatok állapotának megértéséhez fontos tudni, hogyan használhatja a feladat metrikáit és dimenzióit. A Azure Portal, a Visual Studio Code Stream Analytics-bővítmény vagy egy SDK használatával lekérheti a kívánt metrikákat és dimenziókat.

Ez a cikk bemutatja, hogyan használható a Stream Analytics-feladatmetrikák és -dimenziók egy feladat teljesítményének elemzésére a Azure Portal keresztül.

A Stream Analytics-feladat teljesítményének meghatározásához a vízjel késése és a háttérbemeneti események a fő metrikák. Ha a feladat vízjelkésése folyamatosan növekszik, és a bemeneti események háttérbe vannak állítva, a feladat nem tud lépést tartani a bemeneti események sebességével, és időben hozza létre a kimeneteket.

Tekintsünk meg néhány példát egy feladat teljesítményének elemzésére a Vízjel késleltetése metrikaadatok segítségével kiindulási pontként.

Egy adott partíció bemenete nem növeli a feladat vízjelének késését

Ha a kínosan párhuzamos feladat vízjelkésése folyamatosan növekszik, lépjen a Metrikák területre. Ezután az alábbi lépésekkel állapítsa meg, hogy a bemeneti forrás egyes partícióiban hiányoznak-e az adatok:

  1. Ellenőrizze, hogy melyik partíciónál van a növekvő vízjelkésés. Válassza ki a Vízjel késleltetése metrikát, és ossza fel a Partícióazonosító dimenzióval. A következő példában a 465-ös partíció magas vízjelkéslel rendelkezik.

    Képernyőkép egy diagramról, amely a partícióazonosító szerinti vízjelkésést mutatja, ha nincs bemenet egy partícióban.

  2. Ellenőrizze, hogy hiányzik-e bemeneti adat ehhez a partícióhoz. Válassza ki a Bemeneti események metrikát, és szűrje erre a partícióazonosítóra.

    Képernyőkép egy diagramról, amely a partícióazonosító szerint felosztott bemeneti eseményeket mutatja, ha nincs bemenet egy partícióban.

Milyen további lépéseket tehet?

A partíció vízjelkésése növekszik, mert nem áramlanak bemeneti események ebbe a partícióba. Ha a feladat késő érkezésekre vonatkozó tűrésideje több óra, és nem érkeznek bemeneti adatok egy partícióba, akkor várhatóan a partíció vízjelkésése a késő érkezési időszak eléréséig folytatódik.

Ha például a késő érkezési időszak 6 óra, és a bemeneti adatok nem áramlanak az 1. bemeneti partícióba, az 1. kimeneti partíció vízjelkésése addig nő, amíg el nem éri a 6 órát. Ellenőrizheti, hogy a bemeneti forrás a várt módon állít-e elő adatokat.

A bemeneti adatok eltérése magas vízjel-késést okoz

Ahogy az előző esetben is említettük, amikor a kínosan párhuzamos feladat magas vízjelkésést okoz, az első teendő a Vízjel késleltetése metrika felosztása a Partícióazonosító dimenzióval. Ezután megállapíthatja, hogy az összes partíciónál magas-e a vízjel késleltetése, vagy csak néhány.

Az alábbi példában a 0 és az 1 partíció vízjelkésése (körülbelül 20–30 másodperc) nagyobb, mint a többi nyolc partíció esetében. A többi partíció vízjelkésései mindig körülbelül 8–10 másodpercnél állandóak.

Képernyőkép egy diagramról, amely az adateltérés esetén a Vízjel késleltetése partícióazonosító szerint felosztását mutatja.

Nézzük meg, hogyan néznek ki a bemeneti adatok ezen partíciókhoz a Partícióazonosító szerint felosztott Bemeneti események metrika segítségével:

Képernyőkép egy diagramról, amely az adateltérés esetén partícióazonosító szerint felosztott bemeneti eseményeket mutatja.

Milyen további lépéseket tehet?

Ahogy a példában látható, a magas vízjelkésésű partíciók (0 és 1) lényegesen több bemeneti adatot kapnak, mint a többi partíció. Ezt az adateltérésnek nevezzük. Az adateltéréssel rendelkező partíciókat feldolgozó streamelési csomópontoknak több processzor- és memóriaerőforrást kell használniuk, mint másoknak, ahogy az alábbi képernyőképen látható.

Képernyőkép egy diagramról, amely az adateltéréssel rendelkező partíciók erőforrás-kihasználtságát mutatja.

A magasabb adateltéréssel rendelkező partíciókat feldolgozó streamelési csomópontok magasabb processzor- és/vagy streamelési egységek (SU) kihasználtságot mutatnak. Ez a kihasználtság hatással lesz a feladat teljesítményére, és növeli a vízjel késését. Ennek mérsékléséhez egyenletesebben kell újraparticionolnia a bemeneti adatokat.

A problémát a fizikaifeladat-diagrammal is elháríthatja, lásd : Fizikai feladatdiagram: Az egyenlőtlen elosztott bemeneti események azonosítása (adateltérés).

A túlterhelt PROCESSZOR vagy memória növeli a vízjel késleltetését

Ha egy kínosan párhuzamos feladatnak egyre nagyobb a vízjelkésése, az nem csak egy vagy több partíción, hanem az összes partíción is előfordulhat. Hogyan győződjön meg arról, hogy a munkája ebbe az ügybe esik?

  1. Ossza fel a Vízjel késleltetése metrikát partícióazonosító szerint. Például:

    Képernyőkép egy diagramról, amely azt mutatja, hogy a vízjel késleltetése partícióazonosító szerint van felosztva a túlterhelt processzor és a memória esetében.

  2. Ossza fel a Bemeneti események metrikát partícióazonosító szerint annak ellenőrzéséhez, hogy van-e eltérés az egyes partíciók bemeneti adataiban.

  3. Ellenőrizze a processzor- és su-kihasználtságot, hogy az összes streamelési csomópont kihasználtsága túl magas-e.

    Képernyőkép egy diagramról, amely a processzor- és memóriakihasználtságot jeleníti meg csomópontnév szerint felosztva a túlterhelt processzor és a memória esetében.

  4. Ha a cpu- és su-kihasználtság nagyon magas (több mint 80 százalék) az összes streamelési csomóponton, arra a következtetésre juthat, hogy a feladat nagy mennyiségű adatot dolgoz fel az egyes streamelési csomópontokon belül.

    A Bemeneti események metrika segítségével tovább ellenőrizheti, hogy hány partíció van lefoglalva egy streamelési csomóponthoz. Szűrjön streamelési csomópont-azonosító alapján a Csomópontnév dimenzióval, és ossza fel partícióazonosító szerint.

    Képernyőkép egy diagramról, amely egy streamelési csomópont partíciószámát mutatja túlterhelt cpu és memória esetén.

  5. Az előző képernyőképen látható, hogy négy partíció van lefoglalva egy streamelési csomóponthoz, amely a streamelési csomópont erőforrásának körülbelül 90–100 százalékát foglalja el. Hasonló megközelítéssel ellenőrizheti a többi streamelési csomópontot is, így meggyőződhet arról, hogy négy partícióból is dolgoznak fel adatokat.

Milyen további lépéseket tehet?

Érdemes lehet csökkenteni az egyes streamelési csomópontok partíciószámát az egyes streamelési csomópontok bemeneti adatainak csökkentése érdekében. Ennek érdekében duplázhatja a termékváltozatokat, hogy az egyes streamelési csomópontok két partíció adatait kezeljék. Vagy megnégyszerezheti a termékváltozatokat, hogy az egyes streamelési csomópontok egyetlen partícióból kezelhessenek adatokat. További információ az SU-hozzárendelés és a streamelési csomópontok száma közötti kapcsolatról: A streamelési egységek ismertetése és módosítása.

Mi a teendő, ha a vízjel késleltetése továbbra is növekszik, amikor egy streamelési csomópont egy partícióról kezel adatokat? A bemenet újraparticionálása több partícióval az egyes partíciókban lévő adatok mennyiségének csökkentése érdekében. Részletekért lásd: Újraparticionálás használata az Azure Stream Analytics-feladatok optimalizálásához.

A problémát a fizikaifeladat-diagrammal is elháríthatja, lásd : Fizikai feladat diagramja: A túlterhelt processzor vagy memória okának azonosítása.

Következő lépések