Dela via


Skala en Azure Cache for Redis-instans

Viktigt!

Azure Cache for Redis meddelade sin tidslinje för pensionering för alla SKU:er. Vi rekommenderar att du flyttar dina befintliga Azure Cache for Redis-instanser till Azure Managed Redis så snart du kan.

Mer information om pensionering:

Azure Cache for Redis har olika nivåerbjudanden som ger flexibilitet i valet av cachestorlek och funktioner. Genom skalning kan du ändra storlek, nivå och antal noder när du har skapat en cacheinstans så att den matchar dina programbehov. Den här artikeln visar hur du skalar cachen med hjälp av Azure-portalen, plus verktyg som Azure PowerShell och Azure CLI.

Typer av skalning

Det finns i grunden två sätt att skala en Azure Cache for Redis-instans:

  • Uppskalning ökar storleken på den virtuella datorn (VM) som kör Redis-servern, lägger till mer minne, virtuella processorer (vCPU:er) och nätverksbandbredd. Uppskalning kallas även för lodrät skalning. Motsatsen till att skala upp är Att skala ned.

  • Genom att skala ut delas cacheinstansen in i fler noder av samma storlek, vilket ökar minne, vCPU:er och nätverksbandbredd genom parallellisering. Utskalning kallas även horisontell skalning eller horisontell partitionering. Motsatsen till utskalning är Att skala in. I Redis-communityn kallas utskalning ofta för klustring.

Tillgänglighet

Nivå Basic och Standard Premie Enterprise och Enterprise Flash
Skala upp Ja Ja Ja
Skala ned Ja Ja Nej
Skala ut Nej Ja Ja
Skala in Nej Ja Nej

När ska du skala

Du kan använda övervakningsfunktionerna i Azure Cache for Redis för att övervaka hälsotillståndet och prestandan för din cache. Använd denna information för att avgöra när cacheminnet ska skalas.

Du kan övervaka följande mått för att avgöra om skalning behövs.

  • Redis-serverbelastning
    • Hög Redis-serverbelastning innebär att servern inte kan hålla jämna steg med begäranden från alla klienter. Eftersom en Redis-server är en enda trådad process är det vanligtvis mer användbart att skala ut i stället för att skala upp. Genom att skala ut genom att aktivera klustring kan du distribuera overheadfunktioner mellan flera Redis-processer. Utskalning hjälper också till att distribuera TLS-kryptering/dekryptering och anslutning/frånkoppling, vilket påskyndar cacheinstanser med TLS.
    • Att skala upp kan fortfarande vara användbart för att minska serverbelastningen eftersom bakgrundsaktiviteter kan dra nytta av de fler vCPU:er och frigöra tråden för redis-huvudserverprocessen.
    • Enterprise- och Enterprise Flash-nivåerna använder Redis Enterprise i stället för öppen källkod Redis. En av fördelarna med dessa nivåer är att Redis-serverprocessen kan dra nytta av flera virtuella processorer. Med flera virtuella processorer kan både skalning och utskalning på dessa nivåer vara till hjälp för att minska serverbelastningen.
  • Minnesanvändning
    • Hög minnesanvändning indikerar att datastorleken är för stor för den aktuella cachestorleken. Överväg att skala till en cachestorlek med större minne. Att antingen skala upp eller skala ut är effektivt här.
  • Klientanslutningar
    • Varje cachestorlek har en maxgräns för antalet klientanslutningar som stöds. Om klientanslutningarna ligger nära gränsen för cachestorleken bör du överväga att skala upp till en större nivå. Utskalning ökar inte antalet klientanslutningar som stöds.
    • Mer information om anslutningsgränser efter cachestorlek finns i Prissättning för Azure Cache for Redis.
  • Nätverksbandbredd
    • Om Redis-servern överstiger den tillgängliga bandbredden kan klienternas förfrågningar överskrida tidsgränsen, eftersom servern inte kan skicka data till klienten tillräckligt snabbt. Kontrollera måtten Cacheläsning och Cacheskrivning för att se hur mycket bandbredd som används på serversidan. Om Redis-servern överskrider den tillgängliga nätverksbandbredden bör du överväga att skala ut eller skala upp till en större cachestorlek med högre nätverksbandbredd.
    • För Enterprise-nivåcacheminnen med hjälp av enterprise-klusterprincipen ökar inte utskalning nätverksbandbredden.
    • Mer information om nätverkstillgänglig bandbredd efter cachestorlek finns i Vanliga frågor och svar om Azure Cache for Redis-planering.
  • Interna Defender-genomsökningar
    • C0 - och C1 Standard-cacheminnen, medan intern Defender-genomsökning körs på de virtuella datorerna, kan du se korta toppar i serverbelastningen som inte orsakas av en ökning av cachebegäranden. Du ser högre svarstid för begäranden medan interna Defender-genomsökningar körs på dessa nivåer ett par gånger om dagen. Cacheminnen på C0 - och C1-nivåerna har bara en enda kärna för att multitaska, vilket delar upp arbetet med att hantera de interna Defender-genomsökningarna och Redis-begärandena. Du kan minska effekten genom att skala till ett erbjudande på högre nivå med flera CPU-kärnor, till exempel C2.
    • Den ökade cachestorleken på de högre nivåerna hjälper dig att åtgärda eventuella problem med svarstiden. På C2-nivå har du dessutom stöd för så många som 2 000 klientanslutningar.

Mer information om hur du bestämmer vilken cacheprisnivå som ska användas finns i Välja rätt nivå och Azure Cache for Redis planering vanliga frågor och svar.

Kommentar

Mer information om hur du optimerar skalningsprocessen finns i metodtipsen för skalning

Krav/begränsningar för skalning av Azure Cache for Redis

Du kan skala upp/ned till en annan prisnivå med följande begränsningar:

  • Du kan inte skala från en högre prisnivå till en lägre prisnivå.
    • Du kan inte skala från en Enterprise - eller Enterprise Flash-cache till någon annan nivå.
    • Du kan inte skala från en Premium-cache till en Standard - eller Basic-cache .
    • Du kan inte skala från en Standard-cache till en Basic-cache .
  • Du kan skala från en Basic-cache till en Standard-cache , men du kan inte ändra storleken på samma gång. Om du behöver en annan storlek kan du senare utföra en skalningsåtgärd till önskad storlek.
  • Du kan inte skala från en Basic-cache direkt till en Premium-cache . Skala först från Basic till Standard i en skalningsåtgärd och sedan från Standard till Premium i nästa skalningsåtgärd.
  • Du kan inte skala från en större storlek till C0-storleken (250 MB). Du kan dock skala in till valfri annan storlek inom samma prisnivå. Du kan till exempel skala in från C5 Standard till C1 Standard.
  • Du kan inte skala från en Premium-, Standard- eller Basic-cache upp till ett Enterprise - eller Enterprise Flash-cacheminne .
  • Du kan inte skala mellan Enterprise och Enterprise Flash.

Du kan skala ut/in med följande begränsningar:

  • Utskalning stöds endast på Premium-, Enterprise- och Enterprise Flash-nivåerna .
  • Skala in stöds endast på Premium-nivån.
  • Premium-nivån måste klustring aktiveras först innan du skalar in eller ut.
  • Premium-nivån är stöd för att skala ut upp till 10 shards allmänt tillgängligt. Stöd för upp till 30 shards finns i förhandsversionen. (För cacheminnen med två repliker är shardgränsen 20. Med tre repliker är shardgränsen 15.)
  • Endast Enterprise - och Enterprise Flash-nivåerna kan skalas upp och skalas ut samtidigt.

Skala – nivåerna Basic, Standard och Premium

Skala upp och ned med hjälp av Azure Portal

  1. Om du vill skala cacheminnet bläddrar du till cachen i Azure-portalen och väljer Skala på resursmenyn.

    Skärmbild som visar Skala på resursmenyn.

  2. Välj en prisnivå i arbetsfönstret och välj sedan Välj.

    Skärmbild som visar Azure Cache for Redis-nivåerna.

  3. Medan cacheminnet skalas till den nya nivån visas ett meddelande om skalning av Redis Cache .

    Skärmbild som visar meddelandet om skalning.

  4. När skalningsprocessen är klar ändras statusen från Skalningsprocess till Drift.

Kommentar

När du skalar upp eller ned en cache med hjälp av portalen skalas både maxmemory-reserved och maxfragmentationmemory-reserved inställningarna automatiskt i proportion till cachestorleken. Om maxmemory-reserved det till exempel är inställt på 3 GB på en cache på 6 GB och du skalar till 12 GB cache uppdateras inställningarna automatiskt till 6 GB under skalningen. När du skalar ned sker det omvända.

Skala upp och ned med PowerShell

Du kan skala dina Azure Cache for Redis-instanser med PowerShell med hjälp av cmdleten Set-AzRedisCache när Sizeegenskaperna eller Sku ändras. I följande exempel visas hur du skalar en cache med namnet myCache till en cache på 6 GB på samma nivå.

   Set-AzRedisCache -ResourceGroupName myGroup -Name myCache -Size 6GB

Mer information om skalning med PowerShell finns i Skala en Azure Cache for Redis med hjälp av PowerShell.

Skala upp och ned med Hjälp av Azure CLI

Om du vill skala dina Azure Cache for Redis-instanser med Azure CLI anropar du kommandot az redis update . Använd egenskapen sku.capacity för att skala inom en nivå, till exempel från en Standard C0 till Standard C1-cache:

az redis update --cluster-name myCache --resource-group myGroup --set "sku.capacity"="2"

Använd egenskaperna "sku.name" och "sku.family" för att skala upp till en annan nivå, till exempel från en Standard C1-cache till en Premium P1-cache:

az redis update --cluster-name myCache --resource-group myGroup --set "sku.name"="Premium" "sku.capacity"="1" "sku.family"="P"

Mer information om skalning med Azure CLI finns i Ändra inställningar för en befintlig Azure Cache for Redis.

Kommentar

När du skalar upp eller ned en cache programmatiskt (t.ex. med PowerShell eller Azure CLI) ignoreras alla maxmemory-reserved eller maxfragmentationmemory-reserved som en del av uppdateringsbegäran. Endast din skalningsändring respekteras. Du kan uppdatera dessa minnesinställningar när skalningsåtgärden har slutförts.