Salta al contenuto

Come posso risolvere una diminuzione della metrica CacheHitRate nel mio cluster ElastiCache Redis?

3 minuti di lettura
0

Desidero risolvere il problema che sto riscontrando nella metrica CacheHitRate per il mio cluster Amazon ElastiCache Redis.

Risoluzione

Quando la metrica CacheHitRate diminuisce, generalmente aumenta il numero di mancati riscontri nella cache. Per ulteriori informazioni, consulta Monitoring Cache efficiency (Monitoraggio dell'efficienza della cache). Per risolvere i problemi relativi a una diminuzione della metrica CacheHitRate, intraprendi le seguenti azioni.

Controlla se il motore Redis ha espulso le chiavi

Una diminuzione della metrica CacheHitRate può verificarsi durante un'espulsione quando il motore Redis espelle le chiavi per gestire la memoria.

Per verificare se il motore Redis ha espulso le chiavi, consulta le seguenti metriche di Amazon CloudWatch:

  • Evictions
  • BytesUsedForCache
  • DatabaseMemoryUsagePercentage

Per risolvere il problema, ridimensiona il cluster.

Esamina la configurazione della scadenza delle chiavi

Se le chiavi scadono troppo velocemente, potresti vedere un picco nella metrica Reclaimed. Per visualizzare la metrica Reclaimed, esegui il comando INFO, quindi controlla nell'output il numero di eventi di scadenza. Questa metrica elenca il numero totale di chiavi rimosse da Redis perché il corrispondente time-to-live (TTL) è scaduto. Per ulteriori informazioni, consulta INFO sul sito web di Redis.

Per risolvere il problema, aggiorna le impostazioni TTL per le chiavi. Per ulteriori informazioni, consulta TTL sul sito web di Redis.

Controlla gli aggiornamenti del client per le chiavi rimosse

Se l'applicazione tenta di recuperare le chiavi rimosse da un aggiornamento del client, potresti vedere le seguenti modifiche:

  • Un aumento della metrica CacheMisses
  • Una diminuzione della metrica CacheHitRate

Per determinare se l'aggiornamento del client ha rimosso le chiavi, esamina nell'applicazione gli aggiornamenti da comandi come FLUSHALL, DEL o UNLINK. Per ulteriori informazioni, consulta FLUSHALL, DEL e UNLINK sul sito web di Redis.

Per ridurre la rimozione delle chiavi, è consigliabile utilizzare il Controllo degli accessi basato sui ruoli (RBAC). Oppure utilizza il parametro rename-commands per rinominare e annotare i comandi che possono causare problemi significativi, come la rimozione delle chiavi. Per ulteriori informazioni sul parametro rename-commands, consulta ElastiCache versione 5.0.6 per Redis OSS (migliorata).

Verifica se ElastiCache ha ripristinato il cluster

Quando un cluster presenta problemi hardware, ElasticCache recupera il cluster e rimuove tutti i dati dalle cache. Poiché la cache è vuota, le richieste di dati dalla cache comportano errori nella cache.

Per verificare se ElastiCache ha recuperato un cluster, controlla la metrica CacheHitRate nella sezione Eventi di ElastiCache.

Per migliorare la disponibilità dei dati e la tolleranza agli errori, aggiungi una replica in lettura al cluster e attiva Multi-AZ con l'opzione Failover automatico.

Segui le best practice di caching

Se le metriche CacheHits e CacheMisses sono entrambe a 0, non ci sono richieste per la cache. In questo caso, CloudWatch non visualizza alcun dato per la metrica CacheHitRate.

È consigliabile avere una percentuale di riscontri nella cache pari o superiore a 0,8. Se Redis espelle troppe chiavi dalla cache o le chiavi sono scadute o non esistono, la percentuale di riscontri nella cache è inferiore. Per migliorare le prestazioni della cache, segui le best practice di caching.

Informazioni correlate

Metriche per Valkey e Redis OSS

AWS UFFICIALEAggiornata un anno fa