Megosztás a következőn keresztül:


Stream Analytics-feladat skálázása a Machine Learning Studio (klasszikus) függvényekkel

Tipp.

Kifejezetten ajánlott az Azure Machine Learning UDF-ek használata a Machine Learning Studio (klasszikus) UDF helyett a jobb teljesítmény és megbízhatóság érdekében.

Fontos

Az Azure Machine Learning Studio (klasszikus) támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy erre a dátumra váltson az Azure Machine Learningre .

2021. december 1-től nem hozhat létre új Machine Learning Studio-erőforrásokat (klasszikus) (munkaterület- és webszolgáltatás-csomagot). 2024. augusztus 31-ig továbbra is használhatja a Machine Learning Studio (klasszikus) kísérleteket és webszolgáltatásokat. További információk:

A Machine Learning Studio (klasszikus) dokumentációja kivezetés alatt áll, és előfordulhat, hogy a jövőben nem frissül.

Ez a cikk a Machine Learning Studio (klasszikus) függvényeket használó Azure Stream Analytics-feladatok hatékony skálázását ismerteti. A Stream Analytics-feladatok skálázásával kapcsolatos információkért tekintse meg a Feladatok méretezése című cikket.

Mi a Studio (klasszikus) függvény a Stream Analyticsben?

A Stream Analyticsben a Machine Learning Studio (klasszikus) függvények normál függvényhívásként használhatók a Stream Analytics lekérdezési nyelvében. A színfalak mögött azonban ezek a függvényhívások valójában a Studio (klasszikus) Web Service-kérések.

A Studio (klasszikus) webszolgáltatás-kérések átviteli sebességét úgy javíthatja, hogy több sort "kötenek össze" ugyanabban a webszolgáltatás API-hívásban. Ezt a csoportosítást mini kötegnek nevezzük. További információ: Machine Learning Studio (klasszikus) Web Services. A Studio (klasszikus) támogatása a Stream Analyticsben.

Stream Analytics-feladat konfigurálása a Studio (klasszikus) függvényekkel

A Stream Analytics-feladat által használt Studio (klasszikus) függvény konfigurálásához két paraméter használható:

  • A Studio (klasszikus) függvényhívásainak kötegmérete.
  • A Stream Analytics-feladathoz kiosztott streamegységek (SU-k) száma.

A termékváltozatok megfelelő értékeinek meghatározásához döntse el, hogy szeretné-e optimalizálni a Stream Analytics-feladat késését vagy az egyes su-k átviteli sebességét. Az SUS-k mindig hozzáadhatók egy feladathoz, hogy növeljék a jól particionált Stream Analytics-lekérdezések átviteli sebességét. A további termékváltozatok növelik a feladat futtatásának költségeit.

Határozza meg a Stream Analytics-feladat késési tűrését . A köteg méretének növelése növeli a Studio (klasszikus) kéréseinek késését és a Stream Analytics-feladat késését.

A köteg méretének növelése lehetővé teszi, hogy a Stream Analytics-feladat több eseményt dolgozzon fel azonos számú Studio-(klasszikus) webszolgáltatás-kéréssel. A Studio (klasszikus) webszolgáltatás késésének növekedése általában a kötegméret növekedésének alvonala.

Fontos figyelembe venni a Studio (klasszikus) webszolgáltatás legköltséghatékonyabb kötegméretét bármilyen helyzetben. A webszolgáltatás-kérelmek alapértelmezett kötegmérete 1000. Ezt az alapértelmezett méretet a Stream Analytics REST API-val vagy a Stream Analytics PowerShell-ügyféllel módosíthatja.

Miután eldöntötte a kötegméretet, beállíthatja a streamelési egységek (SU-k) számát a függvény által másodpercenként feldolgozandó események száma alapján. A streamelési egységekről további információt a Stream Analytics skálázási feladataiban talál.

Minden 6 termékváltozat 20 egyidejű kapcsolatot kap a Studio (klasszikus) webszolgáltatással. 1 SU-feladat és 3 SU-feladat azonban 20 egyidejű kapcsolatot kap.

Ha az alkalmazás másodpercenként 200 000 eseményt generál, és a köteg mérete 1000, akkor az ebből eredő webszolgáltatás-késés 200 ms. Ez az arány azt jelenti, hogy minden kapcsolat másodpercenként öt kérést tud küldeni a Studio (klasszikus) webszolgáltatáshoz. 20 kapcsolattal a Stream Analytics-feladat 20 000 eseményt képes feldolgozni 200 ms-ban, és másodpercenként 100 000 eseményt.

Másodpercenként 200 000 esemény feldolgozásához a Stream Analytics-feladatnak 40 egyidejű kapcsolatra van szüksége, amelyek 12 termékváltozatból származnak. Az alábbi ábra a Stream Analytics-feladattól a Studio (klasszikus) webszolgáltatás végpontjára irányuló kéréseket mutatja be– 6 termékváltozatonként legfeljebb 20 egyidejű kapcsolat áll rendelkezésre a Studio (klasszikus) webszolgáltatással.

Stream Analytics skálázása a Studio (klasszikus) Függvényekkel két feladat példája

Általában B a kötegmérethez, L a webszolgáltatás késéséhez b kötegméret esetén ezredmásodpercben, a Stream Analytics-feladatok átviteli sebessége N-termékváltozatokkal:

Stream Analytics méretezése a Studio (klasszikus) függvényképletével

A "maximális egyidejű hívások" konfigurálhatók a Studio (klasszikus) webszolgáltatásban is. Javasoljuk, hogy ezt a paramétert a maximális értékre állítsa (jelenleg 200).

Erről a beállításról a Machine Learning Studio (klasszikus) Web Services skálázási cikkében olvashat bővebben.

Példa – Hangulatelemzés

Az alábbi példa egy Stream Analytics-feladatot tartalmaz a hangulatelemzési Studio (klasszikus) függvénnyel, a Stream Analytics Machine Learning Studio (klasszikus) integrációs oktatóanyagában leírtak szerint.

A lekérdezés egy egyszerű, teljesen particionált lekérdezés, amelyet a hangulatfüggvény követ, ahogyan az alábbi példában látható:

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

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

Vizsgáljuk meg a Stream Analytics-feladat létrehozásához szükséges konfigurációt, amely másodpercenként 10 000 tweetmel végzi a tweetek hangulatelemzését.

1 SU használatával ez a Stream Analytics-feladat kezelheti a forgalmat? A feladat az alapértelmezett 1000-es kötegmérettel képes lépést tartani a bemenettel. A sentiment analysis Studio (klasszikus) webszolgáltatás alapértelmezett késése (alapértelmezett kötegmérete 1000) legfeljebb egy másodperc késést eredményez.

A Stream Analytics-feladat általános vagy végpontok közötti késése általában néhány másodperc lenne. Tekintse meg részletesebben ezt a Stream Analytics-feladatot, különösen a Studio (klasszikus) függvényhívásait. 1000-es kötegméret esetén a 10 000 esemény átviteli sebessége körülbelül 10 kérést igényel a webszolgáltatáshoz. Még egy su esetén is elegendő egyidejű kapcsolat áll rendelkezésre a bemeneti forgalom kezeléséhez.

Ha a bemeneti esemény sebessége 100-szeresére nő, akkor a Stream Analytics-feladatnak másodpercenként 1 000 000 tweetet kell feldolgoznia. A nagyobb skálázás kétféleképpen valósítható meg:

  1. Növelje a köteg méretét.
  2. A bemeneti stream particionálása az események párhuzamos feldolgozásához.

Az első lehetőséggel a feladat késése nő.

A második lehetőséggel több termékváltozatot kell kiépítenie, hogy több egyidejű (klasszikus) webszolgáltatás-kérése legyen. Ez a nagyobb számú termékváltozat növeli a feladat költségét.

Vizsgáljuk meg a méretezést az egyes kötegméretek következő késési mérésével:

Késés Köteg mérete
200 ms 1000 esemény kötegek vagy alatta
250 ms 5000 eseményköteg
300 ms 10 000 esemény kötegek
500 ms 25 000 esemény köteg
  1. Az első lehetőség használata (nem épít ki további termékváltozatokat). A köteg mérete 25 000-re növelhető. A köteg méretének ily módon történő növelésével a feladat 1 000 000 esemény feldolgozását teszi lehetővé 20 egyidejű kapcsolattal a Studio (klasszikus) webszolgáltatással (hívásonként 500 ms késéssel). Így a Stream Analytics-feladat további késése a Studio (klasszikus) webszolgáltatás-kérelmek hangulatfüggvény-kérései miatt 200 ms-ról 500 ms-ra nőne. A köteg mérete azonban nem növelhető végtelenül, mivel a Studio (klasszikus) webszolgáltatásokhoz egy kérelem hasznos adatmérete 4 MB vagy kisebb, a webszolgáltatás kérései pedig 100 másodpercnyi működés után időtúllépést igényelnek.
  2. A második lehetőséggel a köteg mérete 1000-nél marad, 200 ms-os webszolgáltatás-késéssel, a webszolgáltatáshoz csatlakozó minden 20 egyidejű kapcsolat képes lesz feldolgozni 1000 * 20 * 5 eseményt = 100 000 másodpercenként. Így másodpercenként 1 000 000 esemény feldolgozásához a feladatnak 60 termékváltozatra lenne szüksége. Az első lehetőséghez képest a Stream Analytics-feladat több webszolgáltatás kötegkérelmét végezné el, ami pedig magasabb költséget eredményezne.

Az alábbiakban egy táblázat látható a Stream Analytics-feladat átviteli sebességéről különböző termékváltozatok és kötegméretek esetében (másodpercenkénti események számában).

köteg mérete (ML-késés) 500 (200 ms) 1000 (200 ms) 5000 (250 ms) 10 000 (300 ms) 25 000 (500 ms)
1 SU 2500 5000 20000 30 000 50 000
3 termékváltozat 2500 5000 20000 30 000 50 000
6 termékváltozat 2500 5000 20000 30 000 50 000
12 termékváltozat 5000 10,000. 40 000 60 000 100 000
18 termékváltozat 7500 15 000 60 000 90,000 150,000
24 termékváltozat 10,000. 20000 80 000 120 000 200,000
60 termékváltozat 25 000 50 000 200,000 300,000 500,000

Mostanra már jól ismernie kell a Studio (klasszikus) funkcióit a Stream Analyticsben. Valószínűleg azt is megérti, hogy a Stream Analytics-feladatok "lekérik" az adatforrásokból származó adatokat, és minden egyes "lekérés" egy eseményköteget ad vissza a Stream Analytics-feladat feldolgozásához. Hogyan befolyásolja ez a lekéréses modell a Studio (klasszikus) webszolgáltatás-kéréseit?

A Studio (klasszikus) függvényekhez beállított kötegméret általában nem osztható el pontosan az egyes Stream Analytics-feladatok által visszaadott "lekérések" által visszaadott események számával. Ha ez történik, a Studio (klasszikus) webszolgáltatás neve "részleges" kötegekkel történik. A részleges kötegek használata elkerüli a feladatok késésének többletterhelését a lekéréstől a lekérésig történő lekéréses események szenesítésében.

A Stream Analytics-feladatok monitorozási területén három további függvényhez kapcsolódó metrikát adtunk hozzá. Ezek FÜGGVÉNYKÉRELMEK, FÜGGVÉNYESEMÉNYEK és SIKERTELEN FÜGGVÉNYKÉRELMEK, ahogyan az alábbi ábrán látható.

Stream Analytics méretezése a Studio (klasszikus) függvénymetrikáival

A definíció a következő:

FÜGGVÉNYKÉRELMEK: A függvénykérelmek száma.

FÜGGVÉNYESEMÉNYEK: A függvénykérelmek számeseményei.

SIKERTELEN FÜGGVÉNYKÉRELMEK: A sikertelen függvénykérelmek száma.

Főbb elvitelek

Ha a Stream Analytics-feladatokat a Studio (klasszikus) függvényekkel szeretné skálázni, vegye figyelembe a következő tényezőket:

  1. A bemeneti esemény sebessége.
  2. A futó Stream Analytics-feladat tolerált késése (és így a Studio (klasszikus) webszolgáltatás-kérések kötegmérete).
  3. A kiépített Stream Analytics-termékváltozatok és a Studio (klasszikus) webszolgáltatás-kérések száma (a funkcióval kapcsolatos további költségek).

Példaként egy teljesen particionált Stream Analytics-lekérdezést használtunk. Ha összetettebb lekérdezésre van szükség, az Azure Stream Analytics Microsoft Q&A kérdésoldala nagyszerű forrás a Stream Analytics csapatának további segítségére.

Következő lépések

A Stream Analyticsről az alábbiakban talál további információt: