š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).
- přečtěte si informace o přesunu projektů strojového učení z ML Studio (classic) do Azure Machine Learning.
- další informace o Azure Machine Learning
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).

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:

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:
- Zvyšte velikost dávky.
- 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í |
- 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.
- 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.
Nové metriky monitorování související s funkcemi
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.

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:
- Frekvence vstupních událostí.
- Tolerovaná latence pro spuštěnou Stream Analytics úlohy (a tedy velikost dávky požadavků webové služby studio (klasického).
- 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: