Ladění pomocí diagramu fyzických úloh (Preview) na webu Azure Portal
Diagram fyzické úlohy na webu Azure Portal vám může pomoct vizualizovat klíčové metriky úlohy pomocí uzlu streamování ve formátu diagramu nebo tabulky, například využití procesoru, využití paměti, vstupní události, ID oddílů a zpoždění vodoznaku. Pomůže vám identifikovat příčinu problému při řešení problémů.
Tento článek ukazuje, jak pomocí diagramu fyzických úloh analyzovat výkon úlohy a rychle identifikovat jeho kritické body na webu Azure Portal.
Důležité
Tato funkce je aktuálně ve verzi PREVIEW. Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.
Identifikace paralelismu úlohy
Úloha s paralelizací je škálovatelný scénář ve službě Stream Analytics, který může poskytovat lepší výkon. Pokud úloha není v paralelním režimu, pravděpodobně má určité kritické body k výkonu. Je důležité zjistit, jestli je úloha v paralelním režimu nebo ne. Diagram fyzických úloh poskytuje vizuální graf znázorňující paralelismus úlohy. Pokud v diagramu fyzických úloh dochází k interakci dat mezi různými uzly streamování, je tato úloha ne parallel úloha, která vyžaduje větší pozornost. Například následující diagram ne parallel job:
Můžete zvážit jeho optimalizaci na paralelní úlohu (například níže) přepsáním dotazu nebo aktualizací konfigurací vstupního/výstupního diagramu pomocí simulátoru diagramu úloh v rozšíření Visual Studio Code ASA nebo editoru dotazů na webu Azure Portal. Další informace najdete v tématu Optimalizace dotazu pomocí simulátoru diagramu úloh (Preview).
Klíčové metriky pro identifikaci kritických bodů paralelní úlohy
Zpoždění vodoznaku a backlogované vstupní události jsou klíčovými metrikami pro určení výkonu úlohy Stream Analytics. Pokud zpoždění vodoznaku vaší úlohy neustále roste a vstupní události se nevyříznou, vaše úloha nemůže držet krok s rychlostí vstupních událostí a včas vytvářet výstupy. Z pohledu výpočetního prostředku se prostředky procesoru a paměti využívají na vysoké úrovni, když k tomuto případu dojde.
Diagram fyzických úloh vizualizuje tyto klíčové metriky v diagramu dohromady, abyste mohli snadno identifikovat kritické body.
Další informace o definici metrik najdete v tématu Dimenze názvu uzlu Azure Stream Analytics.
Identifikace nerovnoměrných distribuovaných vstupních událostí (nerovnoměrná distribuce dat)
Pokud už máte úlohu spuštěnou v paralelním režimu, ale vidíte vysoké zpoždění vodoznaku, pomocí této metody zjistěte, proč.
Pokud chcete zjistit původní příčinu, otevřete diagram fyzické úlohy na webu Azure Portal. V části Monitorování vyberte Diagram úlohy (Preview) a přepněte na fyzický diagram.
Z fyzického diagramu můžete snadno zjistit, jestli mají všechny oddíly vysoké zpoždění vodoznaku, nebo jen několik z nich zobrazením hodnoty zpoždění vodoznaku v každém uzlu nebo výběrem nastavení heat mapy zpoždění vodoznaku a seřadit uzly streamování (doporučeno):
Po použití výše provedených nastavení heat mapy získáte uzly streamování s velkým zpožděním vodoznaku v levém horním rohu. Pak můžete zkontrolovat, jestli odpovídající uzly streamování mají mnohem více vstupních událostí než ostatní. V tomto příkladu má uzel streamingnode#0 a streamingnode#1 více vstupních událostí.
Můžete dále zkontrolovat, kolik oddílů se přiděluje uzlům streamování jednotlivě, abyste zjistili, jestli jsou více vstupních událostí způsobeny více oddíly přidělenými nebo jakýmkoli konkrétním oddílem, který má více vstupních událostí. V tomto příkladu mají všechny uzly streamování dva oddíly. To znamená, že streamingnode#0 a streamingnode#1 mají určitý konkrétní oddíl, který obsahuje více vstupních událostí než jiné oddíly.
Pokud chcete zjistit, který oddíl obsahuje více vstupních událostí než jiné oddíly v uzlu streamingnode#0 a streamingnode#1, proveďte následující kroky:
- Výběr možnosti Přidat graf v oddílu grafu
- Přidání vstupních událostí do metriky a ID oddílu do rozdělovače
- Výběrem možnosti Použít zobrazíte vstupní graf událostí.
- Zaškrtněte streamovací uzel #0 a streamovací uzel#1 v diagramu.
Níže uvidíte graf s metrikou vstupních událostí filtrovaných oddíly ve dvou uzlech streamování.
Jakou další akci můžete provést?
Jak je znázorněno v příkladu, oddíly (0 a 1) mají více vstupních dat než jiné oddíly. Tato data nazýváme nerovnoměrnou distribuci. Uzly streamování, které zpracovávají oddíly se nerovnoměrnou distribuci dat, musí spotřebovávat více prostředků procesoru a paměti než jiné. Tato nerovnováha vede k pomalejšímu výkonu a zvyšuje zpoždění vodoznaku. Využití procesoru a paměti můžete zkontrolovat také ve dvou uzlech streamování ve fyzickém diagramu. Pokud chcete tento problém zmírnit, je potřeba znovu vytvořit rozdělení vstupních dat rovnoměrněji.
Identifikace příčiny přetížení procesoru nebo paměti
Pokud má paralelní úloha zpoždění zvýšení meze bez dříve zmíněné situace nerovnoměrné distribuce dat, může to být způsobeno významným množstvím dat ve všech uzlech streamování, které brání výkonu. Pomocí fyzického diagramu můžete zjistit, že úloha má tuto charakteristiku.
Otevřete diagram fyzické úlohy, přejděte na web Azure Portal úlohy v části Monitorování, vyberte Diagram úlohy (Preview) a přepněte na Fyzický diagram. Zobrazí se fyzický diagram načtený níže.
Zkontrolujte využití procesoru a paměti v každém uzlu streamování a zjistěte, jestli je využití ve všech uzlech streamování příliš vysoké. Pokud je využití procesoru a SU vysoké (více než 80 procent) ve všech uzlech streamování, můžete uzavřít, že tato úloha má velké množství dat zpracovávaných v rámci každého uzlu streamování.
Z výše uvedeného případu je využití procesoru přibližně 90 % a využití paměti je již 100 %. Ukazuje, že každému uzlu streamování dochází prostředek ke zpracování dat.
Zkontrolujte, kolik oddílů se přiděluje do každého uzlu streamování, abyste se mohli rozhodnout, jestli potřebujete více uzlů streamování, aby se snížila zátěž stávajících uzlů streamování.
V tomto případě má každý uzel streamování přidělené čtyři oddíly, které vypadají příliš mnoho na uzel streamování.
Jakou další akci můžete provést?
Zvažte snížení počtu oddílů pro každý uzel streamování, aby se snížil počet vstupních dat. Jednotky SU přidělené každému uzlu streamování můžete zdvojnásobit na dva oddíly na uzel zvýšením počtu uzlů streamování z 8 na 16. Nebo můžete násobit jednotky SU tak, aby každý uzel streamování zpracovával data z jednoho oddílu.
Další informace o vztahu mezi uzlem streamování a jednotkou streamování najdete v tématu Vysvětlení jednotky streamování a uzlu streamování.
Co byste měli dělat, když zpoždění vodoznaku stále roste, když jeden uzel streamování zpracovává data z jednoho oddílu? Znovu rozdělte vstup s dalšími oddíly, abyste snížili množství dat v jednotlivých oddílech. Podrobnosti najdete v tématu Použití repartitioningu k optimalizaci úloh Azure Stream Analytics.