Best practice

Questa pagina fornisce le best practice per ottenere il massimo rendimento. durabilità e disponibilità da Cloud SQL.

Se si verificano problemi con l'istanza Cloud SQL, esamina le operazioni seguenti durante la risoluzione dei problemi:

Configurazione e amministrazione dell'istanza

Best practice Ulteriori informazioni
Leggi e segui le linee guida operative per assicurarti che le tue istanze siano coperte dallo SLA di Cloud SQL.
Configura un periodo di manutenzione per l'istanza principale per controllare quando possono verificarsi aggiornamenti che causano interruzioni. Vedi Periodo di manutenzione.
Se elimini e crei di nuovo le istanze regolarmente, utilizza un timestamp nell'ID istanza per aumentare la probabilità che i nuovi ID istanza siano utilizzabili.
Non avviare un'operazione amministrativa prima dell'operazione precedente viene completata.

Le istanze Cloud SQL non accettano nuove richieste di operazioni finché non hanno completato l'operazione precedente. Se tenti di avviare una nuova operazione in modo prematuro, la richiesta di operazione non va a buon fine. Sono inclusi il riavvio dell'istanza.

Lo stato dell'istanza nella console Google Cloud non riflette se un'operazione è in esecuzione. Il segno di spunta verde indica solo che l'istanza è nello stato RUNNABLE. Per vedere per vedere se un'operazione è in esecuzione, vai alla scheda Operazioni e per controllare lo stato dell'operazione più recente.

Configura lo spazio di archiviazione per la manutenzione critica del database.

Se l'impostazione dell'istanza Attiva gli incrementi automatici dello spazio di archiviazione è disattivata o se è attivato il limite di aumento automatico dello spazio di archiviazione, assicurati di avere almeno il 20% di spazio disponibile per gestire eventuali operazioni di manutenzione del database critiche che Cloud SQL potrebbe eseguire.

Per ricevere avvisi quando lo spazio su disco disponibile scende al di sotto del 20%, crea un criterio di avviso basato su metriche per Metrica di utilizzo disco con una soglia superiore e un valore di 0,8. Per ulteriori informazioni, consulta Creare criteri di avviso basati su metriche.

Evita un uso eccessivo della CPU.

Puoi visualizzare la percentuale di CPU disponibile utilizzata dall'istanza nella pagina dei dettagli dell'istanza in Google Cloud Console. Per ulteriori informazioni, vedi Metriche. Puoi anche monitorare l'utilizzo della CPU e ricevere avvisi a una soglia specificata utilizzando Creare criteri di avviso basati su soglie di metriche.

Per evitare un uso eccessivo, puoi aumentare il numero di CPU per per l'istanza. La modifica delle CPU richiede il riavvio dell'istanza. Se la tua istanza ha già raggiunto il numero massimo di CPU, devi eseguire lo sharding del database su di Compute Engine.

Evita di esaurire la memoria.

Quando cerchi segni di esaurimento della memoria, devi principalmente utilizzare la metrica utilizzo. Per evitare errori di esaurimento della memoria, consigliamo che questa metrica rimanga al di sotto del 90%.

Puoi anche utilizzare la metrica total_usage per osservare la percentuale di memoria disponibile utilizzata dalla tua istanza Cloud SQL, inclusa la memoria utilizzata dal contenitore del database e la memoria allocata dalla cache del sistema operativo.

Osservando la differenza tra le due metriche, puoi Identificare quanta memoria viene utilizzata dai processi rispetto a quanta viene utilizzata dalla cache del sistema operativo. Puoi riutilizzare la memoria questa cache.

Per prevedere i problemi di esaurimento della memoria, controlla sia le metriche che interpretarli insieme. Se le metriche sembrano elevate, la memoria dell'istanza potrebbe essere insufficiente. Ciò può essere dovuto a una configurazione personalizzata, a un'istanza di dimensioni insufficienti per il carico di lavoro o a una combinazione di questi fattori.

Scala l'istanza Cloud SQL per aumentare le dimensioni della sua memoria. La modifica delle dimensioni della memoria dell'istanza richiede il riavvio dell'istanza. Se la tua istanza ha già raggiunto la dimensione massima della memoria, devi eseguire lo sharding del database su più istanze. Per scoprire di più sul monitoraggio di entrambe le metriche nella console Google Cloud, consulta Metriche.

Architettura dei dati

Best practice Ulteriori informazioni
Se possibile, dividi le istanze di grandi dimensioni in istanze più piccole. Quando possibile, l'utilizzo di molte istanze Cloud SQL più piccole rispetto a un'istanza di grandi dimensioni. Gestione di un'istanza monolitica di grandi dimensioni presenta sfide non poste da un gruppo di istanze più piccole.

Implementazione dell'applicazione

Best practice Ulteriori informazioni
Usare buone pratiche di gestione delle connessioni, come il pooling delle connessioni e e il backoff esponenziale. L'utilizzo di queste tecniche migliora l'utilizzo delle risorse da parte dell'applicazione e ti aiuta a rispettare i limiti di connessione di Cloud SQL. Per ulteriori informazioni ed esempi di codice, consulta Gestione delle connessioni ai database
Testa la risposta della tua applicazione agli aggiornamenti di manutenzione, che possono verificarsi in qualsiasi momento durante il periodo di manutenzione. Prova la manutenzione self-service per simulare un aggiornamento di manutenzione. Durante la manutenzione, l'istanza non è più disponibile per un breve periodo e le connessioni esistenti vengono eliminati. Testare l'implementazione della manutenzione ti consente di comprendere meglio come la tua applicazione gestisce la manutenzione programmata e la rapidità con cui il sistema può recuperare.
Testa la risposta dell'applicazione ai failover, che possono verificarsi in qualsiasi momento. Puoi avviare manualmente un failover utilizzando la console Google Cloud, l'interfaccia a riga di comando gcloud o l'API. Vedi Avvio del failover.
Evita transazioni di grandi dimensioni. Fai in modo che le transazioni siano brevi e brevi. Se è necessario un aggiornamento di grandi dimensioni del database, eseguilo in più transazioni più piccole anziché in una sola transazione di grandi dimensioni.
Se utilizzi il proxy di autenticazione Cloud SQL, assicurati di utilizzare alla versione aggiornata. Consulta Mantenere aggiornato il proxy di autenticazione Cloud SQL.

Importazione ed esportazione di dati

Best practice Ulteriori informazioni
Velocizza le importazioni per istanze di piccole dimensioni. Per le istanze di piccole dimensioni, puoi di aumentare CPU e RAM di un'istanza per migliorare le prestazioni durante l'importazione di set di dati di grandi dimensioni.
Se esporti i dati per l'importazione in Cloud SQL, assicurati di utilizzare la procedura corretta. Consulta Esportare dati da un server di database gestito esternamente.

Backup e ripristino

Best practice Ulteriori informazioni
Proteggi i tuoi dati con la funzionalità Cloud SQL appropriata.

I backup e le esportazioni sono modi per fornire ridondanza dei dati e protezione dei dati. Ognuna protegge da scenari diversi e si completano a vicenda in una strategia di protezione dei dati solida.

I backup sono leggeri e consentono di ripristinare i dati dell'istanza allo stato al momento del backup. Tuttavia, i backup presentano alcune limitazioni. Se elimini l'istanza, vengono eliminati anche i backup. Non puoi eseguire il backup di un singolo un database o una tabella. Inoltre, se la regione in cui si trova l'istanza non è disponibile, non puoi ripristinare l'istanza da quel backup, anche in una regione disponibile.

La creazione delle esportazioni richiede più tempo perché è stato creato un file esterno in Cloud Storage da utilizzare per ricreare i dati. Le esportazioni non sono interessate se elimini l'istanza. Inoltre, puoi esportare un solo database o una tabella uniforme, a seconda del formato di esportazione che scegli.

Proteggi l'istanza e i backup dall'eliminazione accidentale.

Un'istanza Cloud SQL che crei nella console Google Cloud. o tramite Terraform, abilita per impostazione predefinita la prevenzione dell'eliminazione accidentale.

Utilizza la funzionalità di esportazione di Cloud SQL per esportare i dati per protezione dei dati. Usa Cloud Scheduler con l'API REST per automatizzare l'esportazione gestione dei dispositivi. Per scenari più avanzati, Cloud Scheduler con le funzioni Cloud Run per l'automazione.

Passaggi successivi

Per ulteriori informazioni sulle pratiche generali per motore del database, consulta: