Best practice generali

Questa pagina fornisce indicazioni per utilizzare Memorystore for Redis in modo ottimale. Questa pagina segnala inoltre i potenziali problemi da evitare.

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

Esportazione RDB

Quando esporti un backup RDB, segui le seguenti indicazioni:

Operazioni che richiedono molte risorse

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

L'upgrade della versione, il ridimensionamento e il failover manuale utilizzano memoria aggiuntiva (per le istanze di livello Standard) a causa della replica. Queste operazioni seguono la procedura di replica descritta in Comportamento dell'upgrade delle istanze di livello Standard.

Le operazioni di importazione ed esportazione richiedono memoria aggiuntiva a causa del processo Redis forked e della gestione dei dati con copia su scrittura associata a queste operazioni.

Per ridurre gli svantaggi delle operazioni che richiedono molte risorse, devi:

Operazioni e scenari che richiedono un nuovo tentativo di connessione

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

Queste operazioni modificano l'istanza e richiedono una disconnessione temporanea. Prima di eseguire queste operazioni, devi implementare una logica di ripetizione con backoff esponenziale in modo che l'applicazione si ricolleggi automaticamente e continui a funzionare normalmente.

Manutenzione ordinaria

Le istanze Memorystore for Redis vengono sottoposte a manutenzione periodicamente. Per maggiori dettagli, consulta le norme sulla manutenzione di Memorystore for Redis.

Implementa le seguenti best practice per prepararti alla 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 abbassare la configurazione maxmemory per l'istanza per avere un overhead in caso di elevata pressione della memoria.

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

Gestione delle connessioni inattive

Nel tempo, potresti notare un aumento del numero di connessioni all'istanza Memorystore se le connessioni non vengono chiuse correttamente. Ciò può avere implicazioni negative sul rendimento, soprattutto se utilizzi la crittografia in transito, che impone limiti massimi di connessioni in base al livello di capacità. Per attenuare il problema, ti consigliamo di utilizzare il timeout parametro di configurazione Redis che ti consente di impostare il numero di secondi prima che le connessioni client inattive vengano terminate automaticamente.

Nomi delle risorse Access Transparency

I dati sensibili non devono essere archiviati in Memorystore per i nomi delle risorse Redis. Per nomi delle risorse si intendono i nomi delle istanze Memorystore for Redis e i metadati delle istanze, ad esempio i tag. Non è garantito che i dati archiviati nei nomi delle risorse siano protetti da Access Transparency di Google Cloud e potrebbero essere in conflitto con i requisiti di conformità di Access Transparency della tua organizzazione.

Connettore di accesso VPC serverless obbligatorio 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 tuo progetto se vuoi connetterti utilizzando uno di questi ambienti.

Networking

Ti consigliamo di utilizzare la modalità di connessione Accesso ai servizi privati. Memorystore for Redis utilizza due modalità di connessione: accesso ai servizi privati e peering diretto. La modalità di connessione di accesso ai servizi privati semplifica la gestione degli intervalli IP e ti consente di utilizzare VPC condiviso, se vuoi.

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

Per ulteriori dettagli, consulta Networking.

Monitoraggio e avvisi

Ti consigliamo di utilizzare il monitoraggio e gli allarmi perché forniscono indicatori chiave sull'utilizzo della memoria dell'istanza Redis. Inoltre, ti forniscono informazioni sull'efficienza con cui la tua istanza Redis risponde alle richieste di cache in entrata.

Devi configurare i seguenti avvisi predefiniti:

Best practice per l'utilizzo della CPU

L'uso improprio di comandi Redis costosi porta a latenza elevata, mancata risposta o problemi di connettività. Le istanze di livello standard forniscono alta disponibilità durante il ripristino di emergenza e si basano sulla replica asincrona tra i nodi principali e di replica. Se uno dei nodi ha un'elaborazione di comandi dispendiosa che blocca il thread principale di Redis, la replica potrebbe essere interessata. Se il problema persiste e si verifica un'interruzione del servizio in una località, i dati più recenti scritti nella località in cui si è verificata l'interruzione potrebbero non essere disponibili nell'altra località.

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

Se l'istanza Redis supera i valori consigliati, ti consigliamo di eseguire il ridimensionamento dell'istanza a un livello di capacità superiore o di seguire le istruzioni per la risoluzione dei problemi per evitare operazioni che richiedono un'elevata intensità di CPU.