Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Managed Redis nabízí různé skladové položky a úrovně, které poskytují flexibilitu při výběru velikosti a výkonu mezipaměti. Kapacitu můžete škálovat na větší velikost paměti nebo změnit na úroveň s vyšším výkonem výpočetních prostředků. Můžete také vertikálně snížit kapacitu na menší nebo vhodnější úroveň. V tomto článku se dozvíte, jak škálovat mezipaměť pomocí webu Azure Portal a nástrojů, jako je Azure PowerShell a Azure CLI.
Poznámka:
Vzhledem k tomu, že každá úroveň Azure Managed Redis má téměř stejné funkce, škálování se obvykle používá jen ke změně charakteristik paměti a výkonu. Škálování geograficky replikovaných mezipamětí Azure Managed Redis zůstává ve fázi Veřejné Ukázky.
Typy škálování
Azure Managed Redis podporuje škálování ve dvou dimenzích:
Paměť Zvýšení paměti zvyšuje velikost instance Redis, což umožňuje ukládat více dat. Při snižování paměti je nutné zajistit, aby aktuální využití paměti bylo menší než nová velikost paměti, kterou chcete použít.
Virtuální procesory Azure Managed Redis nabízí tři úrovně (Optimalizováno pro paměť, Vyvážené a Optimalizováno pro výpočty), které mají pro každou úroveň paměti rostoucí počet virtuálních procesorů. Škálování na úroveň s více virtuálními procesory zvyšuje výkon instance, aniž byste museli zvýšit paměť. Na rozdíl od úrovní Basic, Standard a Premium služby Azure Cache for Redis, které využívají pouze jeden virtuální procesor, azure Managed Redis používá zásobník Redis Enterprise. Stack Redis Enterprise dokáže používat více virtuálních procesorů, což znamená, že počet virtuálních procesorů používaných vaší instancí Redis přímo koreluje s výkonem propustnosti a latence.
Úrovně výkonu
K dispozici jsou čtyři úrovně Azure Managed Redis, z nichž každá má různé charakteristiky výkonu a cenové úrovně.
Důležité
Všechny paměťové vrstvy, které používají více než 235 GB úložiště, jsou ve verzi Public Preview, včetně Memory Optimized M350 a vyšších; Balanced B350 a vyšších; a Compute Optimized X350 a vyšších. Všechny tyto úrovně a vyšší jsou ve verzi Public Preview.
Všechny úrovně Optimalizované pro Flash jsou ve verzi Public Preview.
Vrstvy a skladové položky na první pohled
Jsou to tři úrovně, do kterých se ukládají data v paměti:
Optimalizováno pro paměť Ideální pro případy použití náročné na paměť, které vyžadují vysoký poměr paměti k virtuálnímu procesoru (8:1), ale nepotřebují nejvyšší výkon propustnosti. Poskytuje nižší cenový bod pro scénáře, kdy je potřeba méně výpočetního výkonu nebo propustnosti, což je skvělou volbou pro vývojová a testovací prostředí.
Vyvážená (paměť + výpočty) Nabízí vyvážený poměr paměti k virtuálnímu procesoru (4:1), který je ideální pro standardní úlohy. Tato úroveň poskytuje rovnováhu paměti a výpočetních prostředků v dobrém stavu.
Optimalizováno pro výpočetní výkon Navrženo pro úlohy náročné na výkon, které vyžadují maximální propustnost, s nízkým poměrem paměti na vCPU (2:1). Je ideální pro aplikace, které vyžadují nejvyšší výkon.
Tady je úroveň, která ukládá data v paměti i na disku:
Flash Optimized (Preview) Umožňuje clusterům Redis automaticky přesouvat méně často přístupná data z paměti (RAM) do úložiště NVMe. To snižuje výkon, ale umožňuje nákladově efektivní škálování mezipamětí s velkými datovými sadami.
Výkon (propustnost a latence)
Srovnávací testy výkonu a další informace o měření výkonu jednotlivých skladových položek a úrovní najdete v tématu Testování výkonu s využitím Azure Managed Redis.
Kdy škálovat
Stav a výkon mezipaměti můžete monitorovat pomocí funkcí monitorování služby Azure Managed Redis. Tyto informace slouží k určení, kdy se má mezipaměť škálovat.
Pokud potřebujete škálovat, můžete monitorovat následující metriky.
-
Procesor
- Vysoké využití procesoru znamená, že server Redis nemůže držet krok s požadavky od všech klientů. Škálování na více vCPU pomáhá distribuovat požadavky napříč několika procesy Redis. Škálování také pomáhá distribuovat šifrování/dešifrování protokolu TLS a připojení/odpojení a zrychlit instance mezipaměti pomocí protokolu TLS.
-
Využití paměti
- Vysoké využití paměti znamená, že pro aktuální velikost mezipaměti používáte příliš rozsáhlá data. Zvažte škálování na mezipaměť s větší pamětí. Při snižování paměti je nutné zajistit, aby využití paměti aktuální mezipaměti bylo nižší než nová velikost paměti, kterou chcete použít. Velkou datovou sadu nemůžete umístit do menší velikosti mezipaměti.
-
Klientská připojení
- Každá velikost mezipaměti má limit počtu klientských připojení, která může podporovat. Pokud se připojení klientů blíží limitu mezipaměti, zvažte škálování na větší velikost paměti nebo vyšší úroveň výkonu.
- Další informace o limitech připojení podle velikosti mezipaměti najdete v tématu Testování výkonu s využitím Azure Managed Redis.
-
Šířka pásma sítě
- Když server Redis překročí dostupnou šířku pásma, může požadavkům klientů vypršet časový limit, protože server nemůže odesílat data klientovi dostatečně rychle. Pokud chcete zjistit využití šířky pásma na straně serveru, můžete použít metriky Čtení z mezipaměti a Zápisy do mezipaměti. Pokud váš server Redis překračuje dostupnou šířku pásma sítě, zvažte škálování na vyšší úroveň výkonu nebo větší mezipaměť.
- Na dostupnou šířku pásma sítě má vliv volba zásad clusteru. Obecně platí, že zásady clusteru OSS mají větší šířku pásma sítě než zásady clusteru Enterprise. Další informace najdete v článku Zásady clusteru.
- Další informace o šířce pásma dostupné v síti podle velikosti mezipaměti najdete v tématu Testování výkonu s využitím Azure Managed Redis.
Další informace o určení cenové úrovně mezipaměti, kterou chcete použít, najdete v tématu Výběr správné úrovně.
Další informace o tom, jak optimalizovat proces škálování, najdete v doporučených postupech pro průvodce škálováním.
Omezení škálování Azure Managed Redis
- Z úrovní Optimalizováno pro paměť, Vyrovnáno nebo Optimalizováno pro výpočty není možné škálovat na úroveň Optimalizované pro Flash ani naopak.
- Při snížení paměti pro instanci Redis by aktuální využití paměti instance Redis mělo být menší než zamýšlená nová velikost paměti. Další informace najdete v tématu Co se stane s mými daty, pokud se škáluji na menší velikost paměti?.
- Při snižování paměti nebo virtuálních procesorů (vCPU) pro vaši instanci Redis můžete škálovat pouze na SKUs, které mají konfiguraci vCPU a shardování, jež je kompatibilní s konfigurací vaší aktuální instance.
- V některých případech se při škálování může změnit základní IP adresa instance Redis. Záznam DNS pro instanci se změní a pro většinu aplikací je transparentní. Pokud ale použijete IP adresu ke konfiguraci připojení k instanci Redis nebo ke konfiguraci skupin zabezpečení sítě nebo bran firewall umožňujících provoz do instance Redis, může mít vaše aplikace po aktualizaci záznamů DNS potíže s připojením.
- Škálování instance ve skupině geografické replikace má určitá další omezení. Další informace najdete v tématu Je škálování při geografické replikaci omezeno?
- Při zmenšení měřítka se můžete škálovat pouze na určité úrovně. Další informace najdete v tématu Proč můžu vertikálně snížit kapacitu pouze na podmnožinu menších skladových položek?.
Jak se dá škálovat
V této části popisujeme, jak škálovat mezipaměť Azure Managed Redis.
Škálování pomocí webu Azure Portal
Poznámka:
Škálování geograficky replikovaných mezipamětí Azure Managed Redis zůstává ve fázi Veřejné Ukázky.
Chcete-li škálovat mezipaměť, přejděte do mezipaměti v Azure portálu a v nabídce Prostředek vyberte Škálovat.
Pokud chcete škálovat virtuální procesory, zvolte jiný typ mezipaměti a pak zvolte Uložit.
Důležité
Pokud vyberete skladovou položku, na kterou nejde škálovat, možnost Uložit je zakázaná. Podrobnosti o tom, které možnosti škálování jsou povolené, najdete v části Omezení škálování Spravovaného redisu Azure .
Po dokončení škálování se stav změní z Škálování na Spuštěno při zobrazení části Přehled nabídky Prostředky.
Škálování přes rozhraní PowerShell
Instance Azure Managed Redis můžete škálovat v rozhraní PowerShell pomocí rutiny Update-AzRedisEnterpriseCache. Vlastnost Sku můžete upravit tak, aby vybrala požadovanou úroveň a skladovou položku. Následující příklad ukazuje, jak škálovat mezipaměť pojmenovanou myCache na instanci X20 optimalizovanou pro výpočty (24 GB).
Update-AzRedisEnterpriseCache -ResourceGroupName <your-group> -Name <your-cache-name> -Sku <sku-name>
Škálování přes rozhraní Azure CLI
Pokud chcete škálovat instance Azure Managed Redis v rozhraní Azure CLI, zadejte příkaz az redisenterprise update. Vlastnost sku můžete upravit tak, aby vybrala požadovanou úroveň a skladovou položku. Následující příklad ukazuje, jak škálovat mezipaměť pojmenovanou myCache na instanci X20 optimalizovanou pro výpočty (24 GB).
az redisenterprise update --cluster-name <your-cache-name> --resource-group <your-resource-group> --sku <name-of-sku>
Časté dotazy ke škálování
Následující seznam obsahuje odpovědi na nejčastější dotazy týkající se škálování Azure Managed Redis.
- Mohu škálovat v rámci nebo napříč úrovněmi?
- Co se stane s mými daty, když se škáluju na menší velikost paměti?
- Po škálování musím změnit název mezipaměti nebo přístupové klíče?
- Jak škálování funguje?
- Při škálování ztratím data z mezipaměti?
- Je moje mezipaměť dostupná během škálování?
- Existují omezení škálování u geografické replikace?
- Jak dlouho trvá škálování?
- Jak zjistím, kdy je škálování dokončené?
- Používá Azure Managed Redis clustering?Kolik horizontálních oddílů používá každá skladová položka Azure Managed Redis?
- Jak se klíče distribuují v clusteru?
- Jaká je největší velikost mezipaměti, kterou můžu vytvořit?
- Proč můžu vertikálně snížit kapacitu jenom na podmnožinu menších skladových položek?
- Dají se zásady clusteringu změnit po výběru operačního systému nebo podnikového clusteru?
Mohu škálovat v rámci nebo napříč úrovněmi?
Vždy můžete škálovat na vyšší úroveň výkonu při stejné velikostí paměti nebo na větší velikost paměti při stejné úrovni výkonu. Pro škálování na nižší úroveň výkonu nebo menší velikost paměti doporučujeme spustit rozhraní REST API "listskusfor scale", abyste získali seznam skladových položek, na které můžete škálovat.
az redisenterprise list-skus-for-scaling --cluster-name <your-redis-instance> --resource-group <your-resource-group>
Co se stane s mými daty, když se škáluju na menší velikost paměti?
Kapacitu můžete škálovat na menší velikost paměti pouze v případě, že je aktuální využití paměti menší než zamýšlená menší velikost paměti. Pokud je aktuální využití paměti vyšší, než je zamýšlená menší velikost, požadavek na škálování selže. Aktuální využití paměti můžete snížit odstraněním párů nežádoucích hodnot klíče nebo spuštěním operace vyprazdnění.
az redisenterprise database flush --cluster-name <your-redis-instance> --resource-group <your-resource-group>
Musím po škálování změnit název mezipaměti nebo přístupové klíče?
Ne, název mezipaměti a přístupové klíče se během operace škálování nezmění.
Jak škálování funguje?
- Při škálování instance Redis se jeden z uzlů v clusteru Redis vypne a znovu vytvoří s novou velikostí. Pak se data přenesou a druhý uzel následně provede podobné převzetí služeb při selhání, před opětovným zřízením. Vypnutí a opětovné nastavení je podobné procesu, ke kterému dochází během aktualizace nebo selhání jednoho z uzlů mezipaměti.
- Když škálujete na instanci s více virtuálními procesory, zřídí se nové fragmenty a přidají se do clusteru serveru Redis. Data se pak znovu sdílí napříč všemi horizontálními oddíly.
Další informace o tom, jak Azure Managed Redis zpracovává horizontální dělení, najdete v tématu Konfigurace horizontálního dělení.
Ztratím při škálování data z mezipaměti?
- Pokud je povolený režim vysoké dostupnosti, měla by být během operací škálování zachována všechna data.
- Pokud provádíte škálování na menší úroveň paměti, musíte zajistit, aby aktuální využití paměti bylo menší než zamýšlená nová velikost paměti. Pokud je aktuální využití paměti větší než zamýšlená velikost paměti skladové položky, můžete data vyprázdnit pomocí operace Flush nebo ručně zvolit hodnoty klíče, které chcete odstranit.
- Pokud je režim vysoké dostupnosti zakázaný, dojde ke ztrátě všech dat a během operace škálování nebude mezipaměť k dispozici.
Je moje mezipaměť dostupná během škálování?
- Instance Azure Managed Redis s povoleným režimem vysoké dostupnosti zůstanou během operace škálování dostupné. Při škálování těchto mezipamětí ale může dojít k výkyvům připojení. Tyto výkyvy připojení jsou obvykle krátké a klienti Redis můžou obvykle znovu navázat připojení okamžitě.
- Pokud je režim vysoké dostupnosti zakázaný, je instance Azure Managed Redis během operací škálování offline.
Je škálování při geografické replikaci omezeno?
Škálování geograficky replikovaných mezipamětí je ve verzi Public Preview. Když je nakonfigurovaná aktivní geografická replikace, nemůžete ve skupině geografické replikace kombinovat velikosti mezipamětí. V důsledku toho škálování mezipamětí ve skupině geografické replikace vyžaduje několik dalších kroků. Pokyny najdete v tématu Škálování instancí ve skupině geografické replikace.
U geograficky replikovaných mezipamětí se nepodporuje snížení na menší velikost paměti nebo menší počet shardů. Další informace najdete v tématu Kolik oddílů používají jednotlivé SKU Azure Managed Redis pro identifikaci oddílů ve vašem clusteru.
Jak dlouho škálování trvá?
Doba škálování závisí na několika faktorech. Podívejte se na některé faktory, které mohou dobu škálování ovlivnit.
- Množství dat: Replikace větších objemů dat trvá delší dobu.
- Vysoké požadavky na zápis: Vyšší počet zápisů znamená, že se více dat replikuje napříč uzly nebo horizontálními oddíly.
- Vysoké využití procesoru: Vyšší využití procesoru znamená, že je server Redis zaneprázdněný a k dokončení redistribuce dat je k dispozici omezený počet cyklů procesoru.
Obecně platí, že když škálujete instanci bez dat, trvá tato akce přibližně 10 minut.
Jak zjistím, kdy je škálování dokončeno?
Na webu Azure Portal uvidíte probíhající operaci škálování. Po dokončení škálování se stav mezipaměti změní na Spuštěno v náhledu na Přehled v menu Zdrojů.
Používá Azure Managed Redis clustering?
Na rozdíl od Azure Cache for Redis používá Azure Managed Redis clustering napříč všemi úrovněmi a skladovými položkami. Clustering umožňuje významné optimalizace výkonu. Každá skladová položka Azure Managed Redis je nakonfigurovaná pro optimalizovaný počet horizontálních oddílů na počet dostupných virtuálních procesorů. Počet horizontálních oddílů není konfigurovatelný uživatelem.
Kolik horizontálních oddílů používá každá skladová položka Azure Managed Redis?
Vzhledem k tomu, že Azure Managed Redis běží na softwaru Redis Enterprise, je možné horizontální oddíly používat v hustší konfiguraci než v komunitní verzi serveru Redis. Další informace o konkrétním počtu horizontálních oddílů používaných v jednotlivých skladových položkách najdete v konfiguraci horizontálního dělení.
Jak jsou klíče distribuovány v clusteru?
V dokumentaci k Redisu o distribučním modelu klíčů: Prostor klíčů je rozdělený na 16 384 slotů. Každý klíč je hashovaný a přiřazený jednomu z těchto slotů, které jsou distribuovány napříč uzly clusteru. Můžete nakonfigurovat, která část klíče je hashována, a zajistit tak umístění více klíčů ve stejném horizontálním oddílu pomocí mřížek.
- Klíče s mřížkou – pokud je některá část klíče uzavřená ve znacích
{a}, je tato část klíče hashována pouze pro účely určení slotu hash klíče. Například následující tři klíče by se nacházely ve stejném horizontálním oddílu:{key}1,{key}2a{key}3, protože je hashována pouze část názvukey. Úplný seznam specifikací značek hash klíčů najdete v tématu Značky hash klíčů. - Klíče bez mřížky – k hashování se používá celý název klíče, což vede ke statisticky rovnoměrné distribuci napříč horizontálními oddíly mezipaměti.
Pro zajištění nejlepšího výkonu a propustnosti doporučujeme distribuovat klíče rovnoměrně. Pokud používáte klíče s mřížkou, je zajištění rovnoměrné distribuce klíčů zodpovědností aplikace.
Další informace najdete v tématu Distribuční model klíčů, horizontální dělení dat clusteru Redis a značky hash klíčů.
Jaká je největší velikost mezipaměti, kterou mohu vytvořit?
Největší velikost mezipaměti, kterou můžete použít, je 4,5 TB, označovaná jako instance A4500 optimalizovaná pro Flash. Ceny služby Azure Cache for Redis
Proč můžu vertikálně snížit kapacitu jenom na podmnožinu menších skladových položek?
Chcete-li zachovat kompatibilitu s počtem shardů a virtuálních procesorů, můžete kapacitu snížit jenom na určité SKU. Pokud chcete zjistit, na které skladové položky může vaše instance Redis vertikálně snížit kapacitu, zkontrolujte dostupné možnosti v části Škálování na webu Azure Portal. Můžete také spustit následující příkaz rozhraní příkazového řádku.
Pokud chcete zjistit, na které skladové položky může vaše instance Redis vertikálně snížit kapacitu, zkontrolujte dostupné možnosti v části Škálování na webu Azure Portal.
az redisenterprise list-skus-for-scaling --cluster-name <your-redis-instance> --resource-group <your-resource-group>
Dají se zásady clusteringu změnit po výběru operačního systému nebo podnikového clusteru?
Když při vytváření mezipaměti nastavíte zásadu clusteringu na OSSCluster nebo EnterpriseCluster, nemůžete ji změnit. Pokud chcete přepnout na jinou zásadu clusteringu, musíte odstranit mezipaměť Redis a vytvořit ji znovu s požadovanou konfigurací. Po nasazení je možné aktualizovat pouze mezipaměti se zásadami Noncluster na clusterovanou konfiguraci.