Sdílet prostřednictvím


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:

Snímek obrazovky znázorňující neběžnou úlohu ve fyzickém diagramu

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).

Snímek obrazovky znázorňující zobrazení nerovnoměrné distribuce dat s fyzickým diagramem

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.

Snímek obrazovky znázorňující klíčové metriky na uzlu ve fyzickém diagramu

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.

Snímek obrazovky znázorňující zobrazení nerovnoměrné distribuce dat s fyzickým diagramem

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):

Snímek obrazovky znázorňující nastavení heat mapy zpoždění vodoznaku

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í.

Snímek obrazovky znázorňující zobrazení nerovnoměrné distribuce dat s fyzickým diagramem v heat mapě zpoždění vodoznaku

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í.

Snímek obrazovky znázorňující vstupní události rozdělené podle oddílu a uzlu

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.

  1. 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.

    Snímek obrazovky znázorňující přehled přetížené úlohy procesoru a paměti

  2. 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.

    Snímek obrazovky znázorňující přetížené procesory a paměť ve všech uzlech

  3. 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.

Další kroky