škálování úlohy Stream Analytics pomocí funkcí aplikace Machine Learning Studio (classic)

Tip

pro zvýšení výkonu a spolehlivosti se důrazně doporučuje použít Azure Machine Learning udf místo sady Machine Learning Studio (classic) UDF.

Důležité

podpora pro Machine Learning Studio (classic) skončí 31. srpna 2024. v tomto datu doporučujeme přejít na Azure Machine Learning .

od 1. prosince 2021 nebudete moci vytvářet nové prostředky Machine Learning Studio (classic). do 31. srpna 2024 můžete nadále používat stávající prostředky Machine Learning Studio (classic).

dokumentace k ML Studio (classic) se vyřadí a v budoucnu se nemusí aktualizovat.

tento článek popisuje, jak efektivně škálovat úlohy Azure Stream Analytics, které používají funkce Machine Learning studia (classic). Informace o tom, jak škálovat úlohy Stream Analytics obecně, najdete v článku o škálování úloh.

Co je funkce studia (Classic) v Stream Analytics?

funkce Machine Learning Studio (classic) v Stream Analytics se dá použít jako regulární volání funkce v jazyce Stream Analytics query. Na pozadí jsou však tato volání funkcí skutečně dotazy webové služby Studio (Classic).

Pomocí dávkového zpracování více řádků ve stejném volání rozhraní API webové služby můžete vylepšit propustnost požadavků webové služby studia (Classic). Toto seskupení se nazývá mini-Batch. další informace najdete v tématu webové služby Machine Learning Studio (classic). Podpora pro Studio (Classic) v Stream Analytics.

Konfigurace úlohy Stream Analytics s funkcemi studia (Classic)

Existují dva parametry pro konfiguraci funkce studia (klasické) používané úlohou Stream Analytics:

  • Velikost dávky volání funkcí studia (Classic).
  • Počet jednotek streamování (SUs) zřízených pro úlohu Stream Analytics.

Chcete-li určit příslušné hodnoty pro službu SUs, rozhodněte se, zda chcete optimalizovat latenci Stream Analytics úlohy nebo propustnosti každého SU. Služba SUs může být vždy přidána do úlohy, aby se zvýšila propustnost dobře rozděleného Stream Analyticsho dotazu. Další služba SUs zvyšuje náklady na spuštění úlohy.

Určete toleranci latence pro vaši úlohu Stream Analytics. Zvýšením velikosti dávky se zvýší latence požadavků studia (Classic) a latence úlohy Stream Analytics.

Zvýšení velikosti dávky umožní úloze Stream Analytics zpracovávat Další události se stejným počtem požadavků webové služby Studio (Classic). Zvýšení latence webové služby Studio (Classic) je obvykle lineárně lineární na zvýšení velikosti dávky.

V každé konkrétní situaci je důležité vzít v úvahu největší cenově efektivní velikost dávky pro webovou službu studia (Classic). Výchozí velikost dávky pro žádosti webové služby je 1000. Tuto výchozí velikost můžete změnit pomocí REST API Stream Analytics nebo klienta powershellu pro Stream Analytics.

Jakmile se rozhodnete pro velikost dávky, můžete nastavit počet jednotek streamování (SUs) na základě počtu událostí, které funkce musí zpracovat za sekundu. Další informace o jednotkách streamování najdete v tématu Stream Analytics škálování úloh.

Každých 6 služeb SUs získá 20 souběžných připojení k webové službě studia (Classic). 1 úlohy SU a 3. SU ale získají 20 souběžných připojení.

Pokud vaše aplikace generuje 200 000 událostí za sekundu a velikost dávky je 1000, bude výsledná latence webové služby 200 ms. Tato rychlost znamená, že každé připojení může každou sekundu udělat pět požadavků na webovou službu studia (Classic). S 20 připojeními může Stream Analytics úloha zpracovávat 20 000 událostí v 200 MS a 100 000 událostí za sekundu.

Aby bylo možné zpracovat události 200 000 za sekundu, Stream Analytics úlohy potřebují 40 souběžných připojení, které se nacházejí na 12 SUs. Následující diagram znázorňuje požadavky z Stream Analytics úlohy na koncový bod webové služby Studio (Classic) – každých 6 SUs má na maximum 20 současných připojení k webové službě studia (Classic).

Stream Analytics škály s funkcemi studia (klasické) – příklad dvou úloh

Obecně platí, že B _ pro velikost dávky, _L_ pro latenci webové služby ve velikosti dávky B v milisekundách, propustnost Stream Analytics úlohy s _ N službou SUs je:

Škálování Stream Analytics se vzorcem funkcí studia (Classic)

U webové služby Studio (Classic) můžete také nakonfigurovat maximální počet souběžných volání. Doporučuje se nastavit tento parametr na maximální hodnotu (v současné době 200).

další informace o tomto nastavení najdete v článku o škálování pro webové služby Machine Learning Studio (classic).

Příklad – Analýza mínění

následující příklad obsahuje úlohu Stream Analytics pomocí funkce mínění analysis studio (classic), jak je popsáno v kurzu integrace Stream Analytics Machine Learning studio (classic).

Dotaz je jednoduchý plně rozdělený dotaz následovaný funkcí mínění , jak je znázorněno v následujícím příkladu:

    WITH subquery AS (
        SELECT text, sentiment(text) as result from input
    )

    Select text, result.[Score]
    Into output
    From subquery

Pojďme se podívat na konfiguraci nutnou k vytvoření Stream Analytics úlohy, která analyzuje mínění tweety rychlostí 10 000 tweety za sekundu.

Když použijete 1 SU, mohl by tato úloha Stream Analytics zpracovat provoz? Úloha může udržovat se vstupem s použitím výchozí velikosti dávky 1000. Výchozí latence webové služby mínění Analysis Studio (Classic) (s výchozí velikostí dávky 1000) nevytváří více než sekundu latence.

Celková nebo koncová latence úlohy Stream Analytics by obvykle představovala několik sekund. Přečtěte si podrobnější informace o této Stream Analytics úlohy, zejména o voláních funkce studia (Classic). S velikostí dávky 1000, propustnost 10 000 událostí přebírá přibližně 10 požadavků na webovou službu. I s jedním SU je k dispozici dostatek souběžných připojení, aby bylo možné tento vstupní provoz přizpůsobit.

Pokud se míra vstupních událostí zvyšuje o 1 – ROM, úloha Stream Analytics potřebuje zpracovat 1 000 000 tweety za sekundu. Existují dvě možnosti, jak dosáhnout zvýšeného rozsahu:

  1. Zvyšte velikost dávky.
  2. Rozdělit vstupní datový proud na paralelní zpracování událostí.

Při první možnosti se zvyšuje latence úlohy.

Po druhé možnosti bude nutné zřídit více služeb SUs, aby měly více souběžných žádostí o webovou službu Studio (Classic). Tento větší počet služby SUs zvyšuje náklady na úlohu.

Pojďme se podívat na měřítko s využitím následujících měření latence pro každou velikost dávky:

Latence Velikost dávky
200 MS 1000 – dávky událostí nebo nižší
250 ms 5 000 – dávky událostí
300 MS 10 000 – dávky událostí
500 ms 25 000 – dávky událostí
  1. Pomocí první Možnosti ( nezřizování služby SUs). Velikost dávky se dá zvýšit na 25 000. Zvýšení velikosti dávky tímto způsobem umožní úloze zpracovávat 1 000 000 události s 20 souběžnými připojeními k webové službě studia (Classic) (s latencí 500 ms na volání). Proto se další latence Stream Analytics úlohy z důvodu požadavků funkce mínění proti žádostem o webovou službu Studio (Classic) zvýšila z 200 MS na 500 ms. Velikost dávky se ale nedá navýšit nekonečně, protože webové služby studia (Classic) vyžadují, aby velikost datové části žádosti byla 4 MB nebo menší, a po 100 sekundách operace vypršel časový limit požadavků webové služby.
  2. Při použití druhé možnosti je velikost dávky ponechána v 1000, s latencí webové služby 200-ms, každých 20 souběžných připojení k webové službě by bylo možné zpracovat 1000 × 20 * 5 událostí = 100 000 za sekundu. Aby bylo možné zpracovávat 1 000 000 událostí za sekundu, úloha by potřebovala 60 SUs. V porovnání s první možností by služba Stream Analytics Job prováděla více požadavků na dávku webových služeb a zároveň vygenerovala zvýšené náklady.

Níže je tabulka propustnosti Stream Analytics úlohy pro různé velikosti služby SUs a dávky (v počtu událostí za sekundu).

velikost dávky (ML latence) 500 (200 ms) 1 000 (200 ms) 5 000 (250 ms) 10 000 (300 MS) 25 000 (500 ms)
1. SU 2,500 5 000 20 000 30 000 50,000
3 služba SUs 2,500 5 000 20 000 30 000 50,000
6 služby SUs 2,500 5 000 20 000 30,000 50,000
12 SU 5 000 10 000 40,000 60 000 100 000
18 SU 7 500 15 000 60 000 90,000 150 000
24 SU 10 000 20 000 80,000 120,000 200 000
60 SU 25 000 50,000 200 000 300,000 500 000

Teď už byste měli dobře rozumět tomu, jak studio (klasické) funguje v Stream Analytics funguje. Pravděpodobně také rozumíte tomu, Stream Analytics úlohy "stáhnou" data ze zdrojů dat a každé "pull" vrátí dávku událostí, Stream Analytics úloha zpracuje. Jak tento model vyžádané aktualizace ovlivní žádosti o webovou službu Studio (classic)?

Za normálních okolností velikost dávky, kterou jsme nastavili pro funkce sady Studio (klasické), nebude přesně dělitelná počtem událostí vrácených jednotlivými Stream Analytics úlohy "pull". Pokud k tomu dojde, volá se webová služba Studio (classic) s "částečnými" dávkami. Použití částečných dávek zabraňuje vzniku režijních nákladů na další latenci úloh při souprodeji událostí od pull k pull.

V oblasti Monitorování úlohy Stream Analytics byly přidány tři další metriky související s funkcemi. Jsou to ŽÁDOSTI O FUNKCE, UDÁLOSTI FUNKCE a NEÚSPĚŠNÉ ŽÁDOSTI O FUNKCI, jak je znázorněno na obrázku níže.

Škálování Stream Analytics s metrikami funkcí sady Studio (classic)

Jsou definovány takto:

FUNCTION REQUESTS: Počet požadavků na funkci.

FUNCTION EVENTS: Počet událostí v požadavcích funkce.

FAILED FUNCTION REQUESTS: Počet neúspěšných požadavků na funkci.

Klíčové pochoutné informace

Pokud chcete škálovat Stream Analytics pomocí funkcí sady Studio (klasické), zvažte následující faktory:

  1. Frekvence vstupních událostí.
  2. Tolerovaná latence pro spuštěnou Stream Analytics úlohy (a tedy velikost dávky požadavků webové služby studio (klasického).
  3. Zřízené Stream Analytics su a počet žádostí o webovou službu Studio (classic) (další náklady související s funkcí).

Jako příklad jsme Stream Analytics plně rozdělený dotaz na oddíly. Pokud je potřeba složitější dotaz, je stránka s dotazy pro Azure Stream Analytics v Microsoft Q& skvělým zdrojem informací pro získání další pomoci od Stream Analytics týmu.

Další kroky

Další informace o Stream Analytics najdete v tématu: