Condividi tramite


Dimensionare un'istanza della cache di Azure per Redis

Cache di Azure per Redis dispone di differenti offerte di livello che offrono flessibilità nella scelta delle funzionalità e delle dimensioni della cache. Con il ridimensionamento è possibile modificare le dimensioni, il livello e il numero di nodi dopo aver creato un'istanza della cache in base alle esigenze applicative. Questo articolo illustra come ridimensionare la cache usando il portale di Azure, nonché strumenti come Azure PowerShell e l'interfaccia della riga di comando di Azure.

Tipi di scalabilità

Esistono fondamentalmente due modi per ridimensionare un'istanza di Cache di Azure per Redis:

  • L'aumento delle prestazioni aumenta le dimensioni della VM (VM) che esegue il server Redis, aggiungendo più memoria, CPU virtuali (vCPU) e larghezza di banda di rete. L'aumento delle prestazioni è detto anche ridimensionamento verticale. L'opposto dell'aumento delle prestazioni è la riduzione delle prestazioni.

  • L'aumento del numero di istanze divide l'istanza della cache in più nodi delle stesse dimensioni, aumentando memoria, vCPU e larghezza di banda di rete tramite parallelizzazione. L'aumento del numero di istanze è anche definito ridimensionamento orizzontale o partizionamento orizzontale. L'opposto dell'aumento del numero di istanze è la riduzione del numero di istanze. Nella community di Redis, l'aumento del numero di istanze è spesso definito clustering.

Ambito della disponibilità

Livello Basic e Standard Di alta qualità Enterprise ed Enterprise Flash
Aumentare
Riduci NO
Aumento del numero di istanze NO
Ridurre il numero di istanze NO NO

Quando è necessario ridimensionare la cache

È possibile usare le funzionalità di monitoraggio di Cache di Azure per Redis per monitorare l'integrità e le prestazioni della cache. Usare queste informazioni per determinare quando ridimensionare la cache.

Per determinare se è necessario un ridimensionamento, è possibile monitorare le metriche seguenti.

  • Caricamento del server Redis
    • Un carico elevato del server Redis indica che il server non è in grado di mantenere il passo con le richieste provenienti da tutti i client. Poiché un server Redis è un processo a thread singolo, in genere è più utile aumentare il numero di istanze anziché aumentare le prestazioni. L'aumento del numero di istanze abilitando il clustering consente di distribuire le funzioni di sovraccarico tra più processi Redis. L'aumento del numero di istanze consente anche di distribuire connessione/disconnessione e crittografia/decrittografia TLS, velocizzando le istanze della cache con TLS.
    • L'aumento delle prestazioni può comunque risultare utile per ridurre il carico del server perché le attività in background possono sfruttare più vCPU e liberare il thread per il processo del server Redis principale.
    • I livelli Enterprise ed Enterprise Flash usano Redis Enterprise anziché Redis open source. Uno dei vantaggi di questi livelli è che il processo del server Redis può sfruttare vCPU multiple. Con più vCPU, sia l'aumento delle prestazioni che l'aumento del numero di istanze possono essere utili in questi livelli per ridurre il carico del server.
  • Utilizzo memoria
    • Un utilizzo elevato della memoria indica che le dimensioni dei dati sono troppo grandi per le dimensioni correnti della cache. Valutare la possibilità di ridimensionare le dimensioni della cache in modo che disponga di più memoria. Sia l'aumento delle prestazioni che l'aumento del numero di istanze sono efficaci in questo caso.
  • Connessioni client
    • Ogni dimensione della cache ha un numero limite di connessioni client che può supportare. Se le connessioni client sono vicine al limite per le dimensioni della cache, valutare la possibilità di aumentare le prestazioni a un livello più ampio. L'aumento del numero di istanze non aumenta il numero di connessioni client supportate.
    • Per altre informazioni sui limiti di connessione in base alle dimensioni della cache, vedere Prezzi di Cache di Azure per Redis.
  • Larghezza di banda della rete
    • Se il server Redis supera la larghezza di banda disponibile, potrebbe verificarsi il timeout delle richieste client perché il server non riesce a eseguire il push dei dati al client in modo sufficientemente rapido. Per verificare la quantità di larghezza di banda lato server usata, controllare le metriche "Lettura della cache" e "Scrittura nella cache". Se il server Redis supera la larghezza di banda di rete disponibile, è consigliabile aumentare il numero di istanze o le prestazioni per aumentare le dimensioni della cache e avere una larghezza di banda di rete superiore.
    • Per le cache di livello Enterprise che usano i criteri del cluster Enterprise, l'aumento del numero di istanze non aumenta la larghezza di banda di rete.
    • Per altre informazioni sulla larghezza di banda disponibile per la rete in base alle dimensioni della cache, vedere Domande frequenti sulla pianificazione di Cache di Azure per Redis.
  • Analisi interne di Defender
    • Nelle cache standard C0 e C1, mentre l'analisi interna di Defender è in esecuzione nelle VM, potrebbero verificarsi brevi picchi di carico del server, non causati da un aumento delle richieste di cache. Si noterà una latenza più elevata per le richieste mentre le analisi interne di Defender vengono eseguite su questi livelli, un paio di volte al giorno. Le cache nei livelli C0 e C1 hanno un solo core per multitasking e dividono il lavoro di gestione delle analisi interne di Defender e delle richieste Redis. È possibile ridurre l'effetto ridimensionando a un'offerta di livello superiore con più core CPU, ad esempio C2.
    • L'aumento delle dimensioni della cache nei livelli superiori consente di risolvere eventuali problemi di latenza. Inoltre, al livello C2, è disponibile il supporto per un massimo di 2.000 connessioni client.

Per altre informazioni per determinare il piano tariffario della cache da usare, vedere Scelta del livello appropriato e Domande frequenti sulla pianificazione di Cache di Azure per Redis.

Nota

Per altre informazioni su come ottimizzare il processo di ridimensionamento, vedere la Guida alle procedure consigliate per il ridimensionamento

Prerequisiti/limitazioni del ridimensionamento di Cache di Azure per Redis

È possibile cambiare piano tariffario per aumentare/ridurre le prestazioni con le restrizioni seguenti:

  • Non è possibile passare da un piano tariffario superiore a uno inferiore.
    • Non è possibile passare da una cache Enterprise o Enterprise Flash a un qualsiasi piano di livello inferiore.
    • Non è possibile passare da una cache Premium a una cache Standard o Basic.
    • Non è possibile passare da una cache Standard a una cache Basic.
  • È possibile passare da una cache Basic a una cache Standard, ma non è possibile modificare contemporaneamente la dimensione. Se sono necessarie dimensioni differenti, è possibile eseguire in un secondo momento un'operazione di ridimensionamento per ottenere le dimensioni desiderate.
  • Non è possibile passare direttamente da una cache Basic a una cache Premium. È innanzitutto necessario passare da Basic a Standard con una prima operazione di ridimensionamento quindi da Standard a Premium nell’operazione successiva.
  • Non è possibile passare da una dimensione maggiore alla dimensione C0 (250 MB). Tuttavia, è possibile ridurre le prestazioni per ottenere le dimensioni desiderate all'interno dello stesso piano tariffario. Ad esempio, è possibile ridurre le prestazioni passando da C5 Standard a C1 Standard.
  • Non è possibile passare da una cache Premium, Standard o Basic a una cache Enterprise o Enterprise Flash.
  • Non è possibile passare da Enterprise a Enterprise Flash e viceversa.

È possibile aumentare/ridurre il numero di istanze con le restrizioni seguenti:

  • L'aumento del numero di istanze è supportato solo nei livelli Premium, Enterprise ed Enterprise Flash.
  • La riduzione del numero di istanze è supportata solo nel livello Premium.
  • Nel livello Premium è necessario abilitare il clustering prima di aumentare o ridurre il numero di istanze.
  • Nel livello Premium è in genere disponibile il supporto per l'aumento del numero di istanze fino a 10 partizioni. Il supporto fino a 30 partizioni è disponibile in anteprima. Per le cache con due repliche il limite di partizioni è 20, mentre per quelle con tre repliche il limite di partizioni è 15.
  • Solo i livelli Enterprise ed Enterprise Flash possono aumentare e ridurre il numero di istanze contemporaneamente.

Come ridimensionare - Livelli Basic, Standard e Premium

Aumentare e ridurre le prestazioni con il portale di Azure

  1. Per ridimensionare la cache, accedere alla cache nel portale di Azure e selezionare Ridimensionare nel menu Risorse.

    Screenshot che mostra Ridimensionare nel menu delle risorse.

  2. Scegliere un piano tariffario nel riquadro di lavoro quindi scegliere Seleziona.

    Screenshot che mostra i livelli di Cache di Azure per Redis.

  3. Mentre la cache viene ridimensionata al nuovo livello, viene visualizzata una notifica di Ridimensionamento della Cache Redis.

    Screenshot che mostra la notifica del ridimensionamento.

  4. Al termine dell'operazione, lo stato passa da Ridimensionamento a In esecuzione.

Nota

Quando si aumentano o riducono le prestazioni di una cache usando il portale, le impostazioni maxmemory-reserved e maxfragmentationmemory-reserved vengono ridimensionate automaticamente in proporzione alle dimensioni della cache. Ad esempio, se maxmemory-reserved è impostata su 3 GB in una cache da 6 GB e si passa alla cache da 12 GB, le impostazioni vengono aggiornate automaticamente a 6 GB durante il ridimensionamento. Quando si riducono le dimensioni, si verifica l'inverso.

Aumentare e ridurre le prestazioni con PowerShell

È possibile ridimensionare le istanze di Cache di Azure per Redis con PowerShell usando il cmdlet Set-AzRedisCache quando le proprietà Size o Sku vengono modificate. L'esempio seguente illustra come ridimensionare una cache denominata myCache in una cache di 6 GB nello stesso livello.

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

Per altre informazioni sul ridimensionamento con PowerShell, vedere Ridimensionare una cache di Azure per Redis con PowerShell.

Aumentare e ridurre le prestazioni con l'interfaccia della riga di comando di Azure

Per ridimensionare le istanze di Cache di Azure per Redis usando l'interfaccia della riga di comando di Azure, chiamare il comando az redis update. Usare la proprietà sku.capacity per ridimensionare all'interno dello stesso livello, ad esempio da una cache C0 Standard a una C1 Standard:

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

Usare le proprietà "sku.name" e "sku.family" per aumentare le prestazioni andando a un livello differente, ad esempio da una cache C1 Standard a una cache P1 Premium:

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

Per altre informazioni sul ridimensionamento tramite l'interfaccia della riga di comando di Azure, vedere Modificare le impostazioni di una Cache Redis esistente.

Nota

Quando si ridimensiona una cache verso l'alto o verso il basso a livello di codice ,ad esempio usando PowerShell o l'interfaccia della riga di comando di Azure, qualsiasi maxmemory-reserved o maxfragmentationmemory-reserved viene ignorata come parte della richiesta di aggiornamento. Viene rispettata solo la modifica del ridimensionamento. È possibile aggiornare queste impostazioni di memoria al termine dell'operazione di ridimensionamento.