Scalabilità ElastiCache (Memcached) - Amazon ElastiCache

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Scalabilità ElastiCache (Memcached)

Ridimensionamento ElastiCache (Memcached)

ElastiCache Serverless si adatta automaticamente al traffico del carico di lavoro man mano che aumenta o diminuisce. Per ogni cache ElastiCache Serverless, monitora ElastiCache continuamente l'utilizzo di risorse come CPU, memoria e rete. Quando una di queste risorse è limitata, ElastiCache Serverless esegue la scalabilità orizzontale aggiungendo un nuovo shard e ridistribuendo i dati sul nuovo shard, senza tempi di inattività dell'applicazione. È possibile monitorare le risorse utilizzate dalla cache monitorando la BytesUsedForCache metrica per l'archiviazione dei dati nella CloudWatch cache e (ECPU) per l'utilizzo dell'elaborazione. ElastiCacheProcessingUnits

Impostazione dei limiti di dimensionamento per gestire i costi

Puoi scegliere di configurare un utilizzo massimo dell'archiviazione di dati e delle ECPU al secondo per controllare i costi della cache. In questo modo ti assicuri che l'utilizzo della cache non superi mai il limite massimo configurato.

Se imposti un dimensionamento massimo, l'applicazione potrebbe subire una riduzione delle prestazioni quando la cache raggiunge il limite massimo. Quando imposti un valore massimo di archiviazione dei dati nella cache e lo spazio di archiviazione dei dati della cache raggiunge il massimo, inizierà a rimuovere i dati dalla cache utilizzando la logica ElastiCache LRU. Quando imposti un valore massimo di ECPU/secondo e l'utilizzo di calcolo del carico di lavoro supera questo valore, inizieranno a limitare le richieste Memcached. ElastiCache

Se imposti un limite massimo su BytesUsedForCache oElastiCacheProcessingUnits, ti consigliamo vivamente di impostare un CloudWatch allarme a un valore inferiore al limite massimo in modo da ricevere una notifica quando la cache funziona in prossimità di questi limiti. Ti consigliamo di impostare l'allarme al 75% del limite massimo configurato. Consulta la documentazione su come configurare gli CloudWatch allarmi.

Prescalabilità con Serverless ElastiCache

ElastiCache Prescalabilità senza server

Con il preridimensionamento, chiamato anche preriscaldamento, è possibile impostare limiti minimi supportati per la cache. ElastiCache È possibile impostare questi valori minimi per le unità di ElastiCache elaborazione (ECPU) al secondo o per l'archiviazione dei dati. Ciò può essere utile in preparazione agli eventi di scalabilità previsti. Ad esempio, se una società di giochi prevede un aumento di 5 volte degli accessi entro il primo minuto dal lancio del nuovo gioco, può predisporre la cache per questo significativo picco di utilizzo.

È possibile eseguire la prescalabilità utilizzando la ElastiCache console, la CLI o l'API. ElastiCache Serverless aggiorna le ECPU disponibili al secondo nella cache entro 60 minuti e invia una notifica di evento quando viene completato l'aggiornamento del limite minimo.

Come funziona la prescalabilità

Quando il limite minimo per ECPU/secondo o l'archiviazione dei dati viene aggiornato tramite console, CLI o API, il nuovo limite è disponibile entro 1 ora. ElastiCache Serverless supporta 30.000 ECPUS/secondo su una cache vuota e fino a 90.000 ECPUS/sec quando si utilizza la funzione Read from Replica. ElastiCache può raddoppiare le ECPU al secondo ogni 10-12 minuti. Questa velocità di scalabilità è sufficiente per la maggior parte dei carichi di lavoro. Se prevedi che un evento di scalabilità imminente potrebbe superare questa frequenza, ti consigliamo di impostare le ECPU/secondo minime sul picco di ECPUS/sec previsto almeno 60 minuti prima dell'evento di picco. In caso contrario, l'applicazione potrebbe riscontrare una latenza e una limitazione delle richieste elevate.

Una volta completato l'aggiornamento del limite minimo, ElastiCache Serverless inizierà a contabilizzare il nuovo numero minimo di ECPU al secondo o il nuovo spazio di archiviazione minimo. Ciò si verifica anche se l'applicazione non esegue richieste sulla cache o se l'utilizzo dell'archiviazione dei dati è inferiore al minimo. Quando si abbassa il limite minimo rispetto all'impostazione corrente, l'aggiornamento è immediato, quindi ElastiCache Serverless inizierà immediatamente a misurare il nuovo limite minimo.

Nota
  • Quando imposti un limite di utilizzo minimo, ti viene addebitato il costo di tale limite anche se l'utilizzo effettivo è inferiore al limite di utilizzo minimo. All'utilizzo dell'ECPU o dell'archiviazione dei dati che supera il limite di utilizzo minimo viene addebitata la tariffa normale. Ad esempio, se imposti un limite di utilizzo minimo di 100.000 ECPU al secondo, ti verranno addebitati almeno 1,224 USD all'ora (utilizzando i prezzi dell'ECPU in us-east-1), anche se l'utilizzo è inferiore al minimo impostato.

  • ElastiCache Serverless supporta la scala minima richiesta a livello aggregato sulla cache. ElastiCache Serverless supporta anche un massimo di 30.000 ECPU/secondo per slot (90.000 ECPU/secondo quando si utilizza Read from Replica utilizzando connessioni READONLY). Come best practice, l'applicazione dovrebbe garantire che la distribuzione delle chiavi tra gli slot Redis OSS e il traffico tra le chiavi siano il più uniformi possibile.

Impostazione dei limiti di scalabilità utilizzando la console e AWS CLI

Impostazione dei limiti di scalabilità tramite la console AWS

  1. Accedi AWS Management Console e apri la ElastiCache console all'indirizzo https://console.aws.amazon.com/elasticache/.

  2. Nel riquadro di navigazione scegli il motore in esecuzione sulla cache da modificare.

  3. Viene visualizzato un elenco di cache che eseguono il motore scelto.

  4. Scegli la cache da modificare facendo clic sul pulsante di opzione a sinistra del nome della cache.

  5. Scegliere Actions (Operazioni), quindi Modify (Modifica).

  6. In Limiti di utilizzo, imposta i limiti di memoria o elaborazione appropriati.

  7. Fai clic su Visualizza l'anteprima delle modifiche e quindi su Salva le modifiche.

Impostazione dei limiti di scalabilità utilizzando AWS CLI

Per modificare i limiti di scalabilità utilizzando la CLI, utilizza l' modify-serverless-cache API.

Linux:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'

Windows:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'

Rimozione dei limiti di dimensionamento tramite la CLI

Per rimuovere i limiti di scalabilità utilizzando la CLI, imposta i parametri del limite minimo e massimo su 0.

Linux:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'

Windows:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'