Gyakori kérdések az Azure Cosmos DB automatikus skálázással kiosztott átviteli sebességével kapcsolatban

A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra Gremlin Táblázat

Az Azure Cosmos DB automatikus skálázással kiosztott átviteli sebességet használ az adatbázis vagy tároló kérelemegységeinek másodpercenkénti automatikus kezeléséhez és skálázásához a használat alapján. Ez a cikk választ ad az Azure Cosmos DB automatikus skálázásával kapcsolatos gyakori kérdésekre.

Mi a különbség az automatikus skálázás és az autopilot között az Azure Cosmos DB-ben?

Az automatikus skálázás vagy az automatikus skálázás kiosztott átviteli sebessége a korábban autopilotnak nevezett Azure Cosmos DB szolgáltatás frissített neve. Az automatikus skálázás jelenlegi kiadásában új funkciókat adtunk hozzá, beleértve a programozott támogatást és az egyéni maximális RU/s beállításának lehetőségét.

Mi történik a korábbi autopilot-rétegmodellben létrehozott adatbázisokkal vagy tárolókkal?

A korábbi rétegmodellben létrehozott erőforrások automatikusan támogatottak az új automatikus skálázású egyéni maximális ru/s modellben. A szint felső határa az új maximális RU/s lesz, amely ugyanazt a skálázási tartományt eredményezi.

Ha például korábban kiválasztotta a 400 RU/s és 4000 RU/s közötti skálázási szintet, az adatbázis vagy tároló most 4000 RU/s maximális RU/s értéket jelenít meg, amely 400 RU/s és 4000 RU/s közötti skálázást mutat. Ezután a maximális RU/s értéket a számítási feladat alapján egyéni értékre módosíthatja.

Mi a belépési pont ru/s az automatikus skálázáshoz?

2022 áprilisától kezdve az automatikus skálázás legfeljebb 1000 RU/s (100 RU/s és 1000 RU/s közötti skálázással) állítható be. 200 RU/s skálázási tartományt 2000 RU/s-ra vagy 300 RU/s-ra is beállíthat 3000 RU/s értékre. Korábban a belépési pont 400 RU/s és 4000 RU/s között volt.

Ezt a konfigurációt olyan számítási feladatok esetében javasoljuk, amelyek alacsony átviteli sebességre vonatkozó követelményekkel rendelkeznek, de amelyek továbbra is a maximális RU/s-ra skálázhatók.

Milyen gyorsan méretezhető fel az automatikus skálázás a forgalom növekedése alapján?

Automatikus skálázás esetén a rendszer felfelé vagy T lefelé skálázza az átviteli sebességet (RU/s) T a 0,1 × Tmax tartományon belül a Tmax bejövő forgalom alapján. Mivel a skálázás automatikus és azonnali, a kiépített Tmax skálázást bármikor késleltetve használhatja fel.

Hogyan állapíthatom meg, hogy a rendszer jelenleg milyen RU/s értékre van skálázva?

Az Azure Monitor-metrikák használatával figyelheti a kiosztott automatikus skálázás maximális RU/s-ját és a rendszer jelenlegi átviteli sebességét (RU/s) is.

Mi az automatikus skálázás díjszabása?

Minden órában a rendszer azon legmagasabb átviteli sebességéért T kell fizetnie, amely az adott órán belülre van skálázva. Ha az erőforrásnak nem volt kérése az órában, vagy nem skálázták a 0,1 × Tmax- ×, akkor a számlázás minimum 0,1 × Tmax. További részletekért tekintse meg az Azure Cosmos DB díjszabási oldalát.

How does autoscale show up on my bill?

Egy írási régiós fiókokban az automatikus skálázási ráta 100 RU/s-onként 1,5-szerese a standard (manuális) kiosztott átviteli sebességnek. A számla a meglévő standard kiosztott átviteli sebességmérőt jeleníti meg. Ennek a mérőnek a mennyisége 1,5-szörös. Ha például a rendszer egy órán belül skálázott legmagasabb RU/s értéke 6000 RU/s volt, akkor 60 × 1,5 = 90 egységért kell fizetnie az adott órára vonatkozóan.

A több írási régióval rendelkező fiókokban az automatikus skálázási sebesség 100 RU/s-ra vetítve megegyezik a standard (manuális) kiosztott több írási régió átviteli sebességével. A számla a meglévő több írási régiók mérőeszközét jeleníti meg. Mivel az árak azonosak, automatikus skálázás esetén ugyanazt a mennyiséget fogja látni, mint a normál átviteli sebesség esetében.

Does autoscale work with reserved capacity?

Igen. Az egyszer írható régiókkal rendelkező fiókok fenntartott kapacitása esetén az automatikus skálázási erőforrások foglalási kedvezménye a mérőhasználatra az adott régió arányának másfélszerese arányban lesz alkalmazva. Ha például fenntartott kapacitást szeretne használni 10 000 automatikus skálázási RU/s fedezésére, akkor érdemes 15 000 RU/s fenntartott kapacitást vásárolnia.

A fenntartott több írási régió kapacitása ugyanúgy működik az automatikus skálázáshoz és a standard (manuális) kiosztott átviteli sebességhez. További információ: Fenntartott Azure Cosmos DB-kapacitás.

Működik az automatikus skálázás az Ingyenes Azure Cosmos DB-szinttel?

Igen. Az ingyenes szinten használhatja az automatikus skálázás átviteli sebességét egy adatbázisban vagy egy tárolóban. További információ az ingyenes szint számlázásáról az automatikus skálázással.

Is autoscale supported for all APIs?

Igen. Az automatikus skálázás minden API-hoz támogatott: NoSQL, Gremlin, Table, Cassandra és MongoDB.

A többrégiós írási fiókok támogatják az automatikus skálázást?

Igen. A maximális RU/s minden régióban elérhető, amely az Azure Cosmos DB-fiókhoz van hozzáadva.

How do I enable autoscale on new databases or containers?

Engedélyezhetem az automatikus skálázást egy meglévő adatbázisban vagy tárolóban?

Igen. Az automatikus skálázás és a standard (manuális) kiosztott átviteli sebesség között is válthat. Jelenleg az összes API-hoz használhatja az Azure Portalt, az Azure CLI-t vagy a PowerShellt ezekhez a műveletekhez. A manuális kiosztott átviteli sebesség és az automatikus skálázás közötti migráláshoz nem használhatja az Azure Cosmos DB ügyféloldali SDK-jait vagy egy Azure Resource Manager-sablont. Az ügyféloldali SDK-k vagy egy Azure Resource Manager-sablon használatával azonban létrehozhat új automatikus skálázási erőforrásokat, és módosíthatja a maximális ru/s értékeket egy meglévő automatikus skálázási erőforráson.

How does the migration between autoscale and standard (manual) provisioned throughput work?

Elméletileg az átviteli sebesség típusának módosítása kétfázisú folyamat. Először küldjön egy kérést az átviteli sebesség beállításainak módosítására az automatikus skálázás vagy a manuális kiosztott átviteli sebesség használatára. Mindkét esetben a rendszer automatikusan meghatározza és beállítja a kezdeti RU/s értéket az aktuális átviteli sebesség beállításai és a tárolás alapján. Ebben a lépésben a rendszer nem fogad el felhasználó által megadott RU/s értéket. Ezután a frissítés befejezése után módosíthatja az RU/s-t a számítási feladatokhoz való igazodás érdekében.

Migrálás a standard (manuális) kiosztott átviteli sebességről az automatikus skálázásra

Tárolók esetében a következő képlet használatával becsülheti meg a kezdeti automatikus skálázás maximális RU/s értékét:

MAX(1,000, current manual provisioned RU/s, maximum RU/s ever provisioned / 10, storage in GB × 10) a legközelebbi 1000 RU/s-ra kerekítve.

A tényleges kezdeti automatikus skálázás maximális RU/s-értéke a fiók konfigurációjától függően változhat.

1. példa: Van egy tárolója, amely 10 000 RU/s manuális kiosztott átviteli sebességgel és 25 GB tárhellyel rendelkezik. Ha engedélyezi az automatikus skálázást, a kezdeti automatikus skálázás maximális RU/s értéke 10 000 RU/s, amely 1000 RU/s és 10 000 RU/s közötti skálázható.

2. példa: Van egy tárolója, amely 50 000 RU/s manuális kiosztott átviteli sebességgel és 25 000 GB tárhellyel rendelkezik. Ha engedélyezi az automatikus skálázást, a kezdeti automatikus skálázás maximális RU/s értéke 250 000 RU/s, amely 25 000 RU/s és 250 000 RU/s közötti skálázható.

Migrálás az automatikus skálázásról a standard (manuális) kiosztott átviteli sebességre

A kezdeti manuális kiosztott átviteli sebesség megegyezik az aktuális automatikus skálázás maximális RU/s-jával.

Példa: Van egy automatikus skálázási adatbázisa vagy tárolója, amelynek maximális RU/s értéke 20 000 RU/s (2000 RU/s és 20 000 RU/s közötti skálázás). A manuális kiosztott átviteli sebesség használatára való frissítéskor a kezdeti átviteli sebesség 20 000 RU/s.

Can I use the Azure CLI, PowerShell, or Azure Resource Manager to manage databases or containers that use autoscale?

Igen. Ha egy meglévő adatbázison vagy tárolón programozott módon szeretné engedélyezni az automatikus skálázást, használhatja az Azure CLI-t vagy a PowerShellt.

Ha automatikus skálázást használó új adatbázist vagy tárolót szeretne létrehozni, használhatja az Azure CLI-t, a PowerShellt vagy az Azure Resource Manager-sablont.

Is autoscale supported for shared throughput databases?

Igen. Ha engedélyezni szeretné az automatikus skálázást egy megosztott átviteli sebességű adatbázishoz, az adatbázis létrehozásakor válassza az automatikus skálázást és az Átviteli sebesség kiosztása lehetőséget.

How many containers are allowed per shared throughput database when autoscale is enabled?

Az Azure Cosmos DB legfeljebb 25 tárolót kényszerít ki egy megosztott átviteli sebességű adatbázisban. A maximális érték az automatikus skálázási vagy a szabványos (manuális) átviteli sebességgel rendelkező adatbázisokra vonatkozik.

How does autoscale affect the database consistency level?

Az automatikus skálázásnak nincs hatása az adatbázis konzisztenciájának szintjére.

További információ: Konzisztenciaszintek.

What storage limit is associated with each maximum RU/s option?

Az egyes maximális RU/s-k tárolási korlátja gb-ban az adatbázis vagy tároló maximális ru/s értéke 10-sel osztva. Ha például a maximális RU/s 20 000 RU/s, az erőforrás 2000 GB tárterületet támogat.

Az elérhető maximális ru/s és tárolási lehetőségekért lásd : Átviteli sebesség automatikus skálázási korlátainak kiépítése.

What happens if I exceed the storage limit that's associated with my maximum throughput?

Ha túllépi az adatbázis vagy tároló maximális átviteli sebességéhez társított tárolási korlátot, az Azure Cosmos DB automatikusan növeli a maximális átviteli sebességet a következő legmagasabb RU/s értékre, amely képes támogatni ezt a tárolási szintet.

Egy példaforgatókönyvben legfeljebb 50 000 RU/s (5000 RU/s és 50 000 RU/s közötti skálázás) esetén legfeljebb 5000 GB adatot tárolhat. Ha a tárterület mérete 5001 GB-ra nő, a tárterület most 6000 GB, az új maximális RU/s pedig 60 000 RU/s (6000 RU/s és 60 000 RU/s közötti skálázás).

Can I change the maximum RU/s on a database or container?

Igen. További információ: Az automatikus skálázási átviteli sebesség kiépítése.

A maximális RU/s módosításakor a kért értéktől függően az aszinkron művelet 4–6 órát is igénybe vehet. További információ.

How do I increase the maximum RU/s?

Amikor kérést küld a maximális RU/s növelésére a kiválasztott maximális RU/s-értéktől Tmaxfüggően, a szolgáltatás több erőforrást biztosít a magasabb maximális RU/s támogatásához. Amíg ez történik, a meglévő számítási feladatokra és műveletekre nincs hatással. A rendszer továbbra is skálázza az adatbázist vagy a tárolót az előző 0.1 × Tmax között, és Tmax amíg az új 0,1-× Tmax_newTmax_new skálázási tartomány készen nem áll.

How do I lower the maximum RU/s?

Ha csökkenti a maximális RU/s értéket, a beállítható MAX(1,000, highest maximum RU/s ever provisioned / 10, current storage in GB × 10) minimális érték a legközelebbi 1000 RU/s értékre lesz kerekítve.

1. példa: Van egy automatikus skálázási tárolója, amelynek maximális RU/s értéke 20 000 RU/s (2000 RU/s és 20 000 RU/s közötti skálázás) és 1500 GB tárterület. A legalacsonyabb, minimális érték, amelyet maximális RU/s értékre MAX(1,000, 20,000 / 10, 1,500 × 10) állíthat be, = 15 000 RU/s (1500 RU/s és 15 000 RU/s közötti skálázás).

2. példa: Van egy automatikus skálázási tárolója, amelynek maximális RU/s értéke 100 000 RU/s és 100 GB tárhely. Most a maximális RU/s skálázása 150 000 RU/s-ig (15 000 RU/s és 150 000 RU/s közötti skálázás). A legalacsonyabb, minimális érték, amelyet most a maximális RU/s értékre MAX(1,000, 150,000 / 10, 100 × 10) állíthat be, = 15 000 RU/s (1500 RU/s és 15 000 RU/s közötti skálázás).

Megosztott átviteli sebességű adatbázisok esetén a maximális RU/s csökkentésekor a beállítható MAX(1,000, highest maximum RU/s ever provisioned / 10, current storage in GB × 10, 1,000 + (MAX(Container count - 25, 0) × 1,000)) minimális érték a legközelebbi 1000 RU/s értékre lesz kerekítve.

Ezek a képletek és példák a beállítható minimális automatikus skálázási maximális RU/s-ra vonatkoznak. A 0.1- TmaxTmax × a rendszer automatikusan skálázható tartománya. A maximális RU/s értéktől függetlenül a rendszer mindig 0,1 × Tmax és Tmax.

How does TTL work with autoscale?

Az Élettartam (TTL) műveletek nem befolyásolják az ru/s automatikus skálázási skálázását. A TTL miatt felhasznált kérelemegységek nem részei az automatikus skálázási tároló számlázott RU/s-jának.

Például egy 400 RU/s és 4000 RU/s között skálázható automatikus skálázási tároló esetében:

  • 1. óra: T=0: A tároló nem rendelkezik használattal (nincs TTL- vagy számítási feladatkérés). A számlázható RU/s értéke 400 RU/s.
  • 1. óra: T=1: A TTL engedélyezve van.
  • 1. óra: T=2: A tároló elkezdi lekérni a kéréseket. A kérelmek 1000 kérelemegységet használnak fel 1 másodperc alatt. A rendszer 200 TTL értékű kérelemegységet használ. A számlázható RU/s még mindig 1000 RU/s. A TTL törlésének időpontjától függetlenül ezek nem befolyásolják az automatikus skálázási logikát.

How does maximum RU/s map to physical partitions?

Amikor először kiválasztja a maximális RU/s-t, az Azure Cosmos DB a maximális RU/s-t 10 000 RU/s-tal osztja el a szükséges fizikai partíciók számának lekéréséhez. Minden fizikai partíció legfeljebb 10 000 RU/s és 50 GB tárterületet támogat. A tárterület méretének növekedésével az Azure Cosmos DB automatikusan felosztja a partíciókat, hogy több fizikai partíciót adjon hozzá a tárterület növekedésének kezeléséhez. Ha a tárterület túllépi a társított korlátot, az Azure Cosmos DB növeli a maximális RU/s értéket.

Az adatbázis vagy tároló maximális RU/s-értéke egyenlően oszlik el az összes fizikai partíció között. Az egyetlen fizikai partíció által skálázható teljes átviteli sebesség az adatbázis vagy tároló maximális RU/s-értéke a fizikai partíciók számával osztva.

What happens if incoming requests exceed the maximum RU/s of the database or container?

Ha a teljes felhasznált RU/s meghaladja az adatbázis vagy tároló maximális RU/s-ját, a rendszer szabályozza a maximális RU/s-t meghaladó kérelmeket, és 429-et ad vissza. A 100%-nál több normalizált kihasználtságot eredményező kérelmek szabályozása folyamatban van. A normalizált kihasználtság az ru/s kihasználtság maximális értéke az összes fizikai partíción.

A maximális átviteli sebesség például 20 000 RU/s, és két fizikai partícióval rendelkezik, P_1 és P_2. Minden partíció 10 000 RU/s-ra skálázható. Bármely másodpercben, ha P_1 6000 kérelemegységet használt, és P_2 8000 kérelemegységet használt, a normalizált kihasználtság MAX(6,000 RU / 10,000 RU, 8,000 RU / 10,000 RU) = 0,8.

Megjegyzés:

Az Azure Cosmos DB ügyféloldali SDK-jai és adatimportáló eszközei (Az Azure Data Factory, a tömeges végrehajtói kódtár) automatikusan újrapróbálkoznak a 429-es kód visszaadása után, így az alkalmi 429-es kódhibák nem okoznak problémát. A 429-es kódbeli hibák tartósan magas száma azt jelezheti, hogy növelnie kell a maximális RU/s-t, vagy át kell tekintenie a particionálási stratégiát egy gyakori elérésű partíció belefoglalásához.

Can throttling or rate limiting errors occur when autoscale is enabled?

Igen. A 429-es kódhibák két forgatókönyvben is láthatók.

Először is, ha a teljes felhasznált RU/s meghaladja az adatbázis vagy tároló maximális RU/s-ját, a szolgáltatás ennek megfelelően szabályozza a kéréseket.

Másodszor, ha a logikai partíciókulcs-érték más partíciókulcsértékekhez képest aránytalanul nagyobb számú kéréssel rendelkezik, mint például egy gyakori partícióban, a mögöttes fizikai partíció meghaladhatja a ru/s költségvetését. As a best practice, to avoid hot partitions, choose a good partition key that results in an even distribution of both storage and throughput.

Ha például a 20 000 RU/s maximális átviteli sebesség beállítást választja, és 200 GB tárterületet biztosít, ha négy fizikai partícióval rendelkezik, minden fizikai partíció automatikusan 5000 RU/s-ra skálázható. Ha egy gyakori elérésű partíció egy adott logikai partíciókulcson található, a 429-ös kódhibák akkor jelennek meg, ha a mögöttes fizikai partíció meghaladja az 5000 RU/s-ot vagy a 100%-os normalizált kihasználtságot.

Ha automatikus skálázást használ, a 429-s kódhibák nem feltétlenül jeleznek problémát az adatbázissal vagy a tárolóval kapcsolatban. Általában éles számítási feladatok esetében, ha a kérések 1 és 5 százaléka között 429-nek megfelelő hibakód van, és a végpontok közötti késés elfogadható, a hibák megfelelő jele annak, hogy a kérelemegységek teljes mértékben kihasználva vannak. No action is required.

Megtudhatja, hogyan értelmezhetők és hibakeresési hibák a 429-s sebességkorlátozó kódban.

Can normalized RU/s consumption be 100 percent if autoscale doesn't scale to the maximum RU/s?

Igen. További információ: Normalizált ru/s monitorozása.

Következő lépések