Hibakeresés a fizikaifeladat-diagram (előzetes verzió) használatával az Azure Portal
A Azure Portal fizikaifeladat-diagramja segíthet megjeleníteni a feladat fő metrikáit a streamelési csomóponttal diagram- vagy táblaformátumban, például: CPU-kihasználtság, memóriakihasználtság, bemeneti események, partícióazonosítók és vízjel késleltetése. Segít azonosítani a probléma okát a problémák elhárításakor.
Ez a cikk bemutatja, hogyan elemezheti egy feladat teljesítményét fizikaifeladat-diagram használatával, és hogyan azonosíthatja gyorsan a Azure Portal szűk keresztmetszetét.
Fontos
Ez a funkció jelenleg előzetes verzióban érhető el. A bétaverziójú, előzetes verziójú vagy másként még általánosan nem elérhető Azure-szolgáltatások jogi feltételeit lásd: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.
Feladat párhuzamosságának azonosítása
A párhuzamosítással végzett feladat a Stream Analytics skálázható forgatókönyve, amely jobb teljesítményt nyújt. Ha egy feladat nem párhuzamos módban van, valószínűleg szűk keresztmetszete van a teljesítményében. Fontos megállapítani, hogy egy feladat párhuzamos módban van-e. A fizikaifeladat-diagram vizuális gráfot biztosít a feladatok párhuzamosságának szemléltetéséhez. Ha a fizikai feladat diagramján adatkapcsolat van a különböző streamelési csomópontok között, ez a feladat egy nem párhuzamos feladat, amely nagyobb figyelmet igényel. Például az alábbi nem párhuzamos feladatábra:
Érdemes lehet párhuzamos feladatra optimalizálni (az alábbi példában látható módon), ha újraírja a lekérdezést, vagy frissíti a bemeneti/kimeneti konfigurációkat a Visual Studio Code ASA-bővítményében vagy a lekérdezésszerkesztőben a feladatdiagram-szimulátorral Azure Portal. További információ: Lekérdezés optimalizálása feladatdiagram-szimulátor (előzetes verzió) használatával.
A párhuzamos feladatok szűk keresztmetszetének azonosítására szolgáló főbb metrikák
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. A számítási erőforrás szempontjából a processzor- és memóriaerőforrások magas szinten lesznek kihasználva, amikor ez történik.
A fizikaifeladat-diagram ezeket a fő metrikákat együtt jeleníti meg a diagramon, hogy teljes képet nyújtson róluk a szűk keresztmetszetek egyszerű azonosításához.
További információ a metrikák definíciójáról: Azure Stream Analytics-csomópontnév dimenziója.
Azonosítsa az egyenlőtlen elosztott bemeneti eseményeket (adateltérés)
Ha már fut egy feladat párhuzamos módban, de magas vízjel-késést észlel, ezzel a módszerrel állapíthatja meg, hogy miért.
A kiváltó ok megkereséséhez nyissa meg a fizikai feladat diagramját a Azure Portal. A Figyelés területen válassza a Feladatdiagram (előzetes verzió) lehetőséget, és váltson fizikai diagramra.
A fizikai diagramon egyszerűen megállapíthatja, hogy az összes partíció magas vízjelkéséssel rendelkezik-e, vagy csak néhányat az egyes csomópontok vízjelkésleltetési értékének megtekintésével, vagy a streamelési csomópontok rendezéséhez a vízjel késleltetési hőtérkép-beállításának kiválasztásával (ajánlott):
A fenti hőtérkép-beállítások alkalmazása után a streamelési csomópontokat magas vízjelkéséssel fogja megkapni a bal felső sarokban. Ezután ellenőrizheti, hogy a megfelelő streamelési csomópontok lényegesen több bemeneti eseményt tapasztalnak-e, mint mások. Ebben a példában a streamingnode#0 és a streamingnode#1 több bemeneti eseményt mutat.
Azt is ellenőrizheti, hogy hány partíció van külön-külön lefoglalva a streamelési csomópontokhoz, hogy megtudja, a több bemeneti eseményt több lefoglalt partíció vagy egy adott partíció okozza-e, amely több bemeneti eseményt tartalmaz. Ebben a példában az összes streamelési csomópont két partícióval rendelkezik. Ez azt jelenti, hogy a streamingnode#0 és a streamingnode#1 rendelkezik bizonyos konkrét partíciókkal, amelyek több bemeneti eseményt tartalmaznak, mint más partíciók.
Ha meg szeretné találni, hogy melyik partíció több bemeneti eseményt tartalmaz, mint a streamingnode#0 és a streamingnode#1 többi partíciója, hajtsa végre az alábbi lépéseket:
- Válassza a Diagram hozzáadása a diagramszakaszban lehetőséget
- Bemeneti események hozzáadása a metrika és a partícióazonosító felosztóhoz
- Válassza az Alkalmaz lehetőséget a bemeneti események diagramjának megjelenítéséhez
- Tick streamingnode#0 and streamingnode#1 in diagram
Az alábbi diagramon a bemeneti események metrikája látható, amelyet a két streamelési csomópont partíciói szűrnek.
Milyen további lépéseket tehet?
Ahogy a példában is látható, a partíciók (0 és 1) több bemeneti adatokkal rendelkeznek, 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ások. Ez a kiegyensúlyozatlanság lassabb teljesítményt eredményez, és növeli a vízjel késését. A processzor- és memóriahasználatot a két streamelési csomóponton, valamint a fizikai diagramon is ellenőrizheti. A probléma megoldásához egyenletesebben kell újraparticionolnia a bemeneti adatokat.
A túlterhelt processzor vagy memória okának azonosítása
Ha egy párhuzamos feladatnak a korábban említett adateltérési helyzet nélkül egyre nagyobb a vízjel késleltetése, azt az okozhatja, hogy az összes streamelési csomóponton jelentős mennyiségű adat akadályozza a teljesítményt. A fizikai diagram használatával megállapíthatja, hogy a feladat rendelkezik-e ezzel a jellemzővel.
Nyissa meg a fizikaifeladat-diagramot, lépjen a feladathoz Azure Portal a Figyelés területen, válassza a Feladatdiagram (előzetes verzió) lehetőséget, és váltson Fizikai diagramra. A fizikai diagram az alábbi módon töltődik be.
Ellenőrizze az egyes streamelési csomópontok processzor- és memóriakihasználtságát, és ellenőrizze, hogy az összes streamelési csomópont kihasználtsága túl magas-e. Ha a processzor- és su-kihasználtság 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 fenti esetből a cpu-kihasználtság körülbelül 90%, a memóriakihasználtság pedig már 100%. Azt mutatja, hogy minden streamelési csomópontnak elfogy az erőforrása az adatok feldolgozásához.
Ellenőrizze, hogy az egyes streamelési csomópontok hány partíciót foglalnak le, így eldöntheti, hogy több streamelési csomópontra van-e szükség a partíciók egyensúlyba hozásához a meglévő streamelési csomópontok terhelésének csökkentése érdekében.
Ebben az esetben minden streamelési csomóponthoz négy partíció van lefoglalva, amelyek túl soknak tűnnek egy streamelési csomópont számára.
Milyen további lépéseket tehet?
A bemeneti adatok csökkentése érdekében fontolja meg az egyes streamelési csomópontok partíciószámának csökkentését. A streamelési csomópontok számát 8-ról 16-ra növelve megduplázhatja az egyes streamelési csomópontok számára kiosztott SU-kat csomópontonként két partícióra. 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ó a streamelési csomópont és a streamelési egység közötti kapcsolatról: A streamelési egység és a streamelési csomópont ismertetése.
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.
Következő lépések
- A Stream Analytics bemutatása
- Stream Analytics-feladatábra (előzetes verzió) a Azure Portal
- Azure Stream Analytics-feladatmetrikák
- Stream Analytics-feladatok skálázása
- A Stream Analytics lekérdezési nyelvének referenciája
- Stream Analytics-feladatok teljesítményének elemzése metrikák és dimenziók használatával