Dynamické škálování (podle oblasti a automatického škálování oddílů)
PLATÍ PRO: NoSQL MongoDB Cassandra Skřítek Stůl
Automatické škálování služby Azure Cosmos DB ve výchozím nastavení škáluje úlohy na základě nejaktivnější oblasti a oddílu. U neuniformních úloh, které mají různé vzory úloh napříč oblastmi a oddíly, může toto škálování způsobit zbytečné škálování. Díky tomuto vylepšení automatického škálování, označovaného také jako dynamické škálování, teď funkce automatického škálování jednotlivých oblastí a oddílů umožňuje škálovat oblasti a oddíly úloh nezávisle na využití.
Dynamické škálování se doporučuje pro úlohy automatického škálování, které nejsou v různých oblastech a oddílech stejné. Tato funkce umožňuje ušetřit náklady, pokud často dochází k horkým oddílům nebo máte více oblastí. Pokud je povolené, dynamické škálování se vztahuje na všechny prostředky automatického škálování v účtu.
Případy použití
- Databázové úlohy, které mají vysoce provozovanou primární oblast a sekundární pasivní oblast pro zotavení po havárii.
- S dynamickým škálováním je dosažení vysoké dostupnosti s více oblastmi nákladově efektivnější. Sekundární oblast nezávisle a automaticky vertikálně sníží kapacitu při nečinnosti. Sekundární oblast se také automaticky škáluje, jakmile se stane aktivní a současně zpracovává provoz replikace zápisu z primární oblasti.
- Databázové úlohy s více oblastmi
- Tyto úlohy často sledují nerovnoměrnou distribuci požadavků napříč oblastmi kvůli přirozenému růstu a poklesu provozu v průběhu dne. Například databáze může být aktivní během pracovní doby napříč globálně distribuovanými časovými pásmy.
Příklad
Pokud například máme kolekci s 1 000 RU/s a 2 oddíly, může každý oddíl přejít až na 500 RU/s. U jedné hodiny aktivity by využití vypadalo takto:
Oblast | Oddíl | Propustnost | Využití | Notes |
---|---|---|---|---|
Write | O1 | <= 500 RU/s | 100 % | 500 RU/s sestávající z 50 RU/s používaných pro operace zápisu a 450 RU/s pro operace čtení. |
Write | P2 | <= 200 RU/s | 40% | 200 RU/s sestávající ze všech operací čtení. |
Čteno | O1 | <= 150 RU/s | 30 % | 150 RU/s sestávající z 50 RU/s používaných pro zápisy replikované z oblasti zápisu. Pro operace čtení v této oblasti se používá 100 RU/s. |
Čteno | P2 | <= 50 RU/s | 10 % |
Vzhledem k tomu, že se všechny oddíly škálují jednotně na základě nejžhavějšího oddílu, škálují se oblasti zápisu i čtení na 1000 RU/s, takže celkový počet RU/s je až 2 000 RU/s.
S dynamickým škálováním můžete optimalizovat propustnost. Celková spotřeba by byla 900 RU/s , protože propustnost každého oddílu nebo oblasti se škáluje nezávisle a měří se za hodinu pomocí stejného scénáře.
Monitorování dynamického automatického škálování
K monitorování dynamického automatického škálování můžete použít následující metriky:
Název metriky | Definice | Využití metrik |
---|---|---|
Ru s automatickým škálováním | Zobrazuje dynamicky škálovanou zřízenou propustnost na jednotlivých oddílech a na úrovni oblasti pouze pro účty s podporou dynamického automatického škálování. | Pomocí této metriky zjistíte, jak se oddíly v jednotlivých oblastech škálují nezávisle na základě jejich využití. Pomocí metrik - Autoscaled RU Azure Monitoru můžete analyzovat způsob použití nového automatického škálování napříč oddíly a oblastmi. Vyfiltrujte požadovaný účet databáze a kontejner a pak vyfiltrujte nebo rozdělte metriku Fyzické ID oddílu. Tato metrika zobrazuje všechny oddíly v různých oblastech. |
Zřízená propustnost | Zobrazuje agregované nejvyšší počet RU/s škálované na celou hodinu a představuje celkový počet RU/s škálovaný na hodinu. | Metriku Provisioned Throughput můžete použít k zobrazení RU/s, které se vám účtují za každou hodinu. S dynamickým automatickým škálováním se vám účtuje agregované nejvyšší počet RU/s škálovaný na každou hodinu na úrovni jednotlivých oddílů a oblastí. |
Normalizovaná spotřeba RU | Tato metrika představuje poměr spotřebovaných RU/s ke zřízeným RU/s na každé úrovni oddílu a oblasti. | Pomocí této metriky určete, jestli je maximální propustnost automatického škálování pod nebo nad rámec zřízení. Pokud je hodnota metriky konzistentně 100 % a u vaší aplikace dochází k omezování rychlosti (kód chyby 429), možná budete potřebovat více RU/s. Naproti tomu pokud je tato hodnota metriky nízká a neexistuje omezení rychlosti, může existovat prostor pro optimalizaci a snížení kapacity RU/s. Zjistěte, jak interpretovat a ladit kód 429 omezování rychlosti chyb. Metrika Normalized RU Consumption odráží spotřebované RU/s v sekundární oblasti kvůli provozu replikace zápisu z primárního serveru, a to kromě veškerého provozu čtení na sekundárním serveru. |
Začínáme
Dynamické škálování je ve výchozím nastavení povolené pro všechny účty Azure Cosmos DB vytvořené po 25. září 2024. Zákazníci, kteří chtějí tuto funkci povolit pro své starší účty, můžou tuto funkci provádět programově prostřednictvím Azure PowerShellu, rozhraní příkazového řádku nebo rozhraní REST API nebo z podokna funkcí na webu Azure Portal, jak je znázorněno níže:
Na webu Azure Portal přejděte ke svému účtu služby Azure Cosmos DB.
Přejděte na stránku Funkce .
Vyhledejte a povolte funkci dynamického škálování (podle oblasti a automatického škálování oddílů).
Důležité
Tato funkce je povolená na úrovni účtu, takže všechny kontejnery automatického škálování a databáze se sdílenou propustností v rámci účtu automaticky použijí. Povolení této funkce nemá vliv na prostředky v účtu, které používají ruční propustnost. Ruční prostředky je potřeba změnit na automatické škálování, aby bylo možné využívat dynamické škálování. Povolení této funkce má nulový dopad na výpadky nebo výkon. Tato funkce se nevztahuje na účty bez serveru.