Best practice generali

Questa pagina fornisce indicazioni su come utilizzare in modo ottimale Memorystore for Redis. In questa pagina vengono inoltre indicati i potenziali problemi da evitare.

Per un elenco degli scenari di risoluzione dei problemi, consulta la sezione Risoluzione dei problemi.

Esportazione RDB

Quando esporti un backup RDB, segui queste indicazioni:

Operazioni ad alta intensità di risorse

Per le istanze Redis del livello Standard, le seguenti operazioni utilizzano memoria extra per la durata dell'operazione:

L'upgrade della versione, la scalabilità e il failover manuale utilizzano memoria extra (per le istanze di livello Standard) a causa della replica. Queste operazioni seguono il processo di replica descritto in Comportamento di upgrade delle istanze del livello Standard.

Le operazioni di importazione ed esportazione richiedono memoria aggiuntiva a causa del processo Redis che ha eseguito il fork e della gestione dei dati copia in scrittura associata a queste operazioni.

Per mitigare gli svantaggi delle operazioni che consumano molte risorse, dovresti:

Operazioni e scenari che richiedono un nuovo tentativo di connessione

Le operazioni e gli scenari seguenti interrompono la connessione di rete tra la tua rete e l'istanza Redis:

Queste operazioni modificano l'istanza, richiedendo un'interruzione temporanea della connessione. Devi avere una logica di nuovo tentativo con backoff esponenziale prima di eseguire queste operazioni, in modo che l'applicazione si riconnetti automaticamente e continui a funzionare normalmente.

Manutenzione di routine

Le istanze Memorystore for Redis sono sottoposte a manutenzione periodica. Per maggiori dettagli, consulta i criteri di manutenzione di Memorystore for Redis.

Implementa le seguenti best practice in modo da prepararti per la manutenzione di routine:

Gestione della memoria

La gestione della memoria può essere una sfida a causa della ben nota frammentazione della memoria che si verifica con Redis open source. Ti consigliamo di ridurre la configurazione di maxmemory per l'istanza per ridurre il sovraccarico in caso di pressione della memoria elevata.

Il modo migliore per monitorare la pressione della memoria nell'istanza Memorystore è utilizzare la metrica Rapporto di utilizzo della memoria di sistema. Per una guida dettagliata su come gestire la memoria per Memorystore for Redis, consulta Best practice per la gestione della memoria.

Gestione delle connessioni inattive

Nel tempo, se le connessioni non vengono terminate correttamente, il numero di connessioni all'istanza Memorystore potrebbe aumentare. Ciò può avere implicazioni negative sulle prestazioni, soprattutto se utilizzi la crittografia dei dati in transito, che impone limiti massimi di connessioni in base al livello di capacità. Per mitigare il problema, consigliamo di utilizzare il timeout parametro di configurazione Redis che consente di impostare il numero di secondi prima che le connessioni client inattive vengano terminate automaticamente.

Connettore di accesso VPC serverless richiesto per alcuni ambienti serverless

Alcuni ambienti serverless richiedono un connettore di accesso VPC serverless per connettersi a Memorystore per Redis. Configura il connettore di accesso VPC serverless per il progetto se vuoi connetterti utilizzando uno di questi ambienti.

Networking

Ti consigliamo di utilizzare la modalità di connessione di accesso privato ai servizi. Memorystore for Redis utilizza due modalità di connessione: accesso privato ai servizi e peering diretto. La modalità di connessione di accesso privato ai servizi semplifica la gestione dell'intervallo IP e ti consente di utilizzare il VPC condiviso, se vuoi.

Una volta creata un'istanza, la modalità di connessione non può essere modificata.

Per maggiori dettagli, vedi Networking.

Monitoraggio e avvisi

Ti consigliamo di utilizzare il monitoring e gli avvisi perché forniscono indicatori chiave sull'utilizzo della memoria della tua istanza Redis. Forniscono inoltre insight sull'efficienza con cui la tua istanza Redis risponde alle richieste di cache in arrivo.

Dovresti configurare i seguenti avvisi predefiniti:

Best practice per l'utilizzo della CPU

L'uso improprio di costosi comandi Redis comporta problemi di latenza elevata, mancata reattività o connettività. Le istanze di livello Standard offrono disponibilità elevata durante il ripristino di emergenza e si basano sulla replica asincrona tra nodi principali e di replica. Se uno dei nodi ha una costosa elaborazione dei comandi che blocca il thread principale di Redis, la replica potrebbe risentirne. Se il problema persiste e si verifica un'interruzione della posizione, i dati più recenti scritti nella località dell'interruzione potrebbero non essere disponibili nell'altra località.

Ti consigliamo di utilizzare Cloud Monitoring per impostare avvisi per la metrica Secondi CPU del thread principale (redis.googleapis.com/stats/cpu_utilization_main_thread) in modo che l'utilizzo della CPU non superi 0,9 secondi per il nodo principale e 0,5 secondi per ogni nodo di replica.

Se l'istanza Redis supera i valori consigliati, ti consigliamo di scalarla a un livello di capacità superiore o di seguire le istruzioni per la risoluzione dei problemi per evitare operazioni che richiedono un uso intensivo della CPU.