Megosztás a következőn keresztül:


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. Az Azure Portal, a Visual Studio Code Stream Analytics-bővítmény vagy egy SDK segítségével lekérheti az önt érdeklő 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éhez az Azure Portalon keresztül.

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

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

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

Ha a kínosan párhuzamos feladat vízjel-késleltetése folyamatosan növekszik, lépjen a Metrikák elemre. Ezután az alábbi lépésekkel állapítsa meg, hogy a kiváltó ok az adatok hiánya-e a bemeneti forrás egyes partícióiban:

  1. Ellenőrizze, hogy melyik partíciónál növekszik a vízjel késleltetése. Válassza ki a Vízjel késleltetése metrikát, és ossza fel a partícióazonosító dimenzióval. Az alábbi példában a 465-ös partíció magas vízjel-késéssel rendelkezik.

    Képernyőkép egy olyan diagramról, amely a partícióazonosítóval való vízjel-késlelteté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 az adott partícióazonosítóra.

    Képernyőkép egy olyan diagramról, amely azt mutatja, hogy a bemeneti események partícióazonosító szerint oszlanak meg, ha nincs bemenet egy partícióban.

Milyen további lépéseket tehet?

A partíció vízjelének késleltetése növekszik, mert nem kerülnek bemeneti események ebbe a partícióba. Ha a feladat késői érkezésekre vonatkozó tűrésideje több óra, és a bemeneti adatok nem áramlanak egy partícióba, akkor az adott partíció vízjelének késleltetése várhatóan tovább nő, amíg el nem éri a késői érkezési időszakot.

Ha például a késői érkezési idő 6 óra, és a bemeneti adatok nem áramlanak be az 1. bemeneti partícióba, az 1. kimeneti partíció vízjelének késlelteté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 eltolása 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ízjel-késleltetéssel rendelkezik, 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ó magas vízjel-késéssel rendelkezik-e, vagy csak néhányat.

Az alábbi példában a 0 és az 1 partíciók vízjel késlelteté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ízjelének késleltetése mindig körülbelül 8–10 másodperc.

Képernyőkép egy diagramról, amely azt mutatja, hogy a vízjel késleltetése partícióazonosító szerint van felosztva az adateltérés esetén.

Nézzük meg, hogy a bemeneti adatok hogyan néznek ki az összes ilyen partícióhoz a metrika bemeneti eseményeinek partícióazonosító szerinti felosztásával:

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ízjel-késéssel rendelkező 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 felhasználniuk, mint mások, 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ó streamcsomópontok nagyobb processzor- és/vagy streamegység-kihasználtságot mutatnak. Ez a kihasználtság befolyásolja a feladat teljesítményét, és növeli a vízjel késleltetését. Ennek mérsékléséhez egyenletesebben kell újraparticionolnia a bemeneti adatokat.

Ezt a problémát a fizikai feladat diagramjával is elháríthatja, lásd : Fizikai feladatdiagram: Azonosítsa az egyenlőtlen elosztott bemeneti eseményeket (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ízjel késleltetése, az nem csak egy vagy több partíción, hanem az összes partíción is előfordulhat. Hogyan erősítheti meg, hogy a munkája beleesik ebbe az ügybe?

  1. A Vízjel késleltetési metrikájának felosztása partícióazonosító szerint. Példa:

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

  2. Ossza fel a Bemeneti események metrikát partícióazonosító szerint, hogy ellenőrizze, van-e adatelté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 azt mutatja, hogy a processzor- és memóriakihasználtság csomópontnév szerinti felosztása túlterhelt processzor és memória esetén.

  4. Ha a processzor- és su-kihasználtság nagyon magas (több mint 80 százalék) az összes streamelési csomópontban, megállapíthatja, hogy ez a feladat nagy mennyiségű adatot dolgoz fel az egyes streamelési csomópontokon belül.

    A bemeneti események metrikájának ellenőrzésével azt is 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, hogy meggyőződjön 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 megduplá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óról kezeljék az adatokat. Az SU-hozzárendelés és a streamelési csomópontok száma közötti kapcsolatról további információt a streamelési egységek ismertetése és módosítása című témakörben talál.

Mi a teendő, ha a vízjel késleltetése még mindig növekszik, ha egy streamelési csomópont egy partícióról kezeli az 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. További részletekért lásd : Azure Stream Analytics-feladatok optimalizálása újraparticionálással.

A problémát a fizikai feladat diagramjával is elháríthatja, lásd : Fizikai feladatdiagram: A túlterhelt processzor vagy memória okának azonosítása.

Következő lépések