Utilizza gli insight sul sistema per migliorare le prestazioni del sistema

In questa pagina viene descritto come utilizzare la dashboard degli insight sul sistema di Cloud SQL. La dashboard degli insight sul sistema mostra le metriche relative alle risorse utilizzate dall'istanza e ti aiuta a rilevare e analizzare i problemi delle prestazioni del sistema.

Visualizza la dashboard di System Insights

Per visualizzare la dashboard di System Insights, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Fai clic sul nome di un'istanza.
  3. Seleziona la scheda Approfondimenti sul sistema dal pannello di navigazione SQL a sinistra.

Si apre la dashboard degli insight sul sistema.

Immagine della dashboard che mostra la cronologia delle metriche e degli eventi.

La dashboard di System Insights mostra le seguenti informazioni:

  1. Dettagli istanza

  2. Cronologia eventi: mostra gli eventi di sistema in ordine cronologico. Queste informazioni consentono di valutare l'impatto degli eventi di sistema sull'integrità e sulle prestazioni dell'istanza.

  3. Schede riepilogative: forniscono una panoramica dell'integrità e delle prestazioni dell'istanza mostrando i valori più recenti e aggregati per le metriche di utilizzo della CPU, utilizzo del disco ed errori di log.

  4. Grafici delle metriche: mostrano le informazioni sulle metriche del sistema operativo e del database, utili per ottenere insight su diversi problemi, come velocità effettiva, latenza e costi.

La dashboard offre le seguenti opzioni di alto livello:

  • Per visualizzare due grafici affiancati o un solo grafico per riga, fai clic su Personalizza visualizzazione. Puoi utilizzare questa opzione anche per scegliere le metriche da visualizzare nella dashboard.
  • Per mantenere aggiornata la dashboard, attiva l'opzione Aggiornamento automatico. Se attivi l'opzione Aggiornamento automatico, i dati della dashboard vengono aggiornati ogni minuto.

  • Il selettore di data mostra l'opzione 1 day selezionata per impostazione predefinita. Per modificare il periodo, seleziona uno degli altri periodi predefiniti o fai clic su Personalizzato e definisci un'ora di inizio e di fine. I dati sono disponibili per gli ultimi 30 giorni.

  • Per creare un link assoluto alla dashboard, fai clic sul pulsante Copia link. Puoi condividere questo link con altri utenti di Cloud SQL che dispongono delle stesse autorizzazioni.

Schede riepilogative

La seguente tabella descrive le schede riepilogative visualizzate nella parte superiore della dashboard di Approfondimenti sul sistema. Queste schede forniscono una breve panoramica dell'integrità e delle prestazioni dell'istanza durante il periodo di tempo scelto.

Scheda riepilogativaDescrizione
Utilizzo CPU - P99 | P50 I valori di utilizzo della CPU P99 e P50 nel periodo selezionato.
Connessioni di picco Il rapporto tra le connessioni di picco e le connessioni massime per il periodo selezionato. Il conteggio delle connessioni di picco potrebbe essere superiore al conteggio massimo nel caso in cui il numero massimo sia stato modificato di recente, ad esempio a causa della scalabilità dell'istanza o della modifica manuale dell'impostazione max_connections.
Utilizzo ID transazione L'ultimo valore di utilizzo dell'ID transazione per il periodo selezionato.
Utilizzo disco Il valore più recente di utilizzo del disco.
Errori di log Il numero di errori registrati.

Grafici delle metriche

La scheda del grafico relativa a una metrica di esempio è la seguente.
Grafico che mostra i dati di esempio delle metriche Cloud SQL.

La barra degli strumenti in ogni scheda del grafico offre il seguente insieme di opzioni standard:

  • Per nascondere o visualizzare la legenda, fai clic su .
  • Per visualizzare i valori delle metriche per un momento specifico nel periodo selezionato, sposta il cursore sul grafico.

  • Per visualizzare un grafico in modalità a schermo intero, fai clic su . Per uscire dalla modalità a schermo intero, fai clic su Esc.

  • Per eseguire lo zoom di un grafico, fai clic sul grafico e trascinalo orizzontalmente lungo l'asse X o verticalmente sull'asse Y. Per ripristinare l'operazione di zoom, fai clic su . Le operazioni di zoom vengono applicate contemporaneamente a tutti i grafici in una dashboard.

  • Per visualizzare ulteriori opzioni, fai clic su . La maggior parte dei grafici offre queste opzioni:

    • Scarica un'immagine PNG.

    • Visualizza in Esplora metriche. Visualizza la metrica in Esplora metriche. Puoi visualizzare altre metriche Cloud SQL in Metrics Explorer dopo aver selezionato il tipo di risorsa Database Cloud SQL.

    • Aggiungi alla dashboard personalizzata. Assegna un nome alla dashboard o seleziona una dashboard personalizzata esistente. Visualizza e modifica la dashboard utilizzando Cloud Monitoring.

La tabella seguente descrive le metriche di Cloud SQL visualizzate per impostazione predefinita nella dashboard di Cloud SQL System Insights.

Le stringhe del tipo di metrica seguono questo prefisso: cloudsql.googleapis.com/database/.

Fasi di lancio di queste metriche: GA, BETA

Nome e tipo di metricaDescrizione
Nuove connessioni al secondo BETA
postgresql/new_connection_count

Frequenza al secondo del numero di nuove connessioni che crei sull'istanza Cloud SQL per PostgreSQL. Cloud SQL calcola e visualizza questa metrica per database.

Questa metrica è disponibile per PostgreSQL 14 e versioni successive.

Tipi di eventi di attesa BETA
postgresql/backends_in_wait

Il numero di connessioni per ogni tipo di evento di attesa in un'istanza Cloud SQL per PostgreSQL.

Eventi di attesa BETA
postgresql/backends_in_wait

Il numero di eventi di attesa in un'istanza Cloud SQL per PostgreSQL. Nella dashboard viene visualizzata questa metrica come wait event name:wait event type.

Conteggio transazioni BETA
postgresql/transaction_count

Il numero di transazioni negli stati commit e rollback in un'istanza Cloud SQL per PostgreSQL.

Componenti di memoria BETA
memory/components

I componenti di memoria disponibili per il database. Il valore di ogni componente di memoria viene calcolato come percentuale della memoria totale disponibile per il database.

Ritardo massimo della replica BETA
postgresql/external_sync/max_replica_byte_lag

Il tempo di replica massimo (in byte) tra tutti i database nella replica del server esterno (ES).

Latenza query GA
postgresql/insights/aggregate/latencies

Distribuzione della latenza aggregata delle query per P99, P95 e P50 per utente e database.

Disponibile solo per le istanze in cui è abilitato Query Insights.

Carico database per database/utente/indirizzo client GA
postgresql/insights/aggregate/execution_time

Il tempo di esecuzione della query accumulato per database, utente o indirizzo client. È la somma di tempo di CPU, tempo di attesa I/O, tempo di attesa blocco, commutazioni di contesto del processo e pianificazione per tutti i processi coinvolti nell'esecuzione della query.

Disponibile solo per le istanze in cui è abilitato Query Insights.

Utilizzo CPU GA
cpu/utilization

L'utilizzo attuale della CPU rappresentato come percentuale della CPU prenotata attualmente in uso.

Spazio di archiviazione su disco per tipo GA
disk/bytes_used_by_data_type

La suddivisione dell'utilizzo del disco dell'istanza per tipi di dati, tra cui data, binlog e tmp_data.

Questa metrica ti consente di comprendere i costi di archiviazione. Per ulteriori informazioni sui costi di utilizzo dello spazio di archiviazione, consulta Prezzi di archiviazione e networking.

Il recupero point-in-time (PITR) utilizza l'archiviazione WAL (write-ahead log). Questi log vengono aggiornati regolarmente e occupano spazio di archiviazione. I log write-ahead vengono eliminati automaticamente con il backup automatico associato, che in genere avviene dopo circa 7 giorni.

Se le dimensioni dei log write-ahead causano un problema per l'istanza, puoi aumentare la dimensione dello spazio di archiviazione, ma l'aumento delle dimensioni del log write-ahead nell'utilizzo del disco potrebbe essere temporaneo. Per evitare problemi di archiviazione imprevisti, Google consiglia di attivare gli aumenti automatici dello spazio di archiviazione quando utilizzi il PITR.

Per eliminare i log e recuperare lo spazio di archiviazione, puoi disabilitare il recupero point-in-time. Tuttavia, tieni presente che la riduzione dello spazio di archiviazione utilizzato non riduce le dimensioni dello spazio di archiviazione di cui è stato eseguito il provisioning per l'istanza.

I dati temporanei sono inclusi nella metrica di utilizzo dello spazio di archiviazione. I dati temporanei vengono rimossi nell'ambito della manutenzione e possono aumentare oltre i limiti di capacità definiti dall'utente per evitare un evento pieno del disco, senza costi per l'utente.

Un database appena creato utilizza circa 100 MB per tabelle e file di sistema.

Spazio di archiviazione su disco per tipo GA
disk/bytes_used_by_data_type

La suddivisione dell'utilizzo del disco dell'istanza per tipi di dati, tra cui data, binlog e tmp_data.

Questa metrica ti consente di comprendere i costi di archiviazione. Per ulteriori informazioni sui costi di utilizzo dello spazio di archiviazione, consulta Prezzi di archiviazione e networking.

Il recupero point-in-time utilizza l'archiviazione write-ahead logging (WAL). Per le nuove istanze Cloud SQL in cui è abilitato il recupero point-in-time o per le istanze esistenti che abilitano il recupero point-in-time quando questa funzionalità per l'archiviazione dei log WAL in Cloud Storage sarà disponibile, i log non saranno più archiviati su disco, ma in Cloud Storage nella stessa regione delle istanze.

Per verificare se i log di un'istanza sono archiviati in Cloud Storage, controlla la metrica bytes_used_by_data_type per l'istanza. Se il valore del tipo di dati archived_wal_log è 0, i log dell'istanza vengono archiviati in Cloud Storage.

I log di tutte le altre istanze esistenti in cui è abilitato il recupero point-in-time continueranno ad essere archiviati su disco. La modifica relativa all'archiviazione dei log in Cloud Storage verrà resa disponibile in un secondo momento.

I log write-ahead utilizzati nel recupero point-in-time vengono eliminati automaticamente con il backup automatico associato, cosa che di solito accade dopo il raggiungimento del valore impostato per transactionLogRetentionDays. Il numero di giorni di log delle transazioni conservati da Cloud SQL per il recupero point-in-time (compreso tra 1 e 7).

Per le istanze che hanno log write-ahead archiviati in Cloud Storage, i log vengono archiviati nella stessa regione dell'istanza principale. Questa archiviazione dei log (fino a sette giorni, la durata massima per il recupero point-in-time) non genera costi aggiuntivi per istanza.

Se per l'istanza è abilitato il recupero point-in-time e la dimensione dei log write-ahead sul disco causa un problema per l'istanza, disattiva il recupero point-in-time e riabilitalo per assicurarti che i nuovi log vengano archiviati in Cloud Storage nella stessa regione dell'istanza. Questa operazione elimina i log write-ahead esistenti, quindi non puoi eseguire un ripristino point-in-time prima della riattivazione del recupero point-in-time. Tuttavia, anche se i log esistenti vengono eliminati, le dimensioni del disco rimangono invariate.

Per evitare problemi di archiviazione imprevisti, consigliamo di abilitare gli aumenti automatici dello spazio di archiviazione per tutte le istanze quando utilizzi il recupero point-in-time. Questo suggerimento si applica solo se per l'istanza è abilitato il recupero point-in-time e i log sono archiviati su disco.

Per eliminare i log e recuperare lo spazio di archiviazione, puoi disabilitare il recupero point-in-time. Tieni presente, tuttavia, che la riduzione dei log write-ahead utilizzati non riduce le dimensioni del disco di cui è stato eseguito il provisioning per l'istanza.

I dati temporanei sono inclusi nella metrica di utilizzo dello spazio di archiviazione. I dati temporanei vengono rimossi nell'ambito della manutenzione e possono aumentare oltre i limiti di capacità definiti dall'utente per evitare un evento pieno del disco, senza costi per l'utente.

Un database appena creato utilizza circa 100 MB per tabelle e file di sistema.

Operazioni di lettura/scrittura su disco GA
disk/read_ops_count, disk/write_ops_count

La metrica Numero di letture indica il numero di operazioni di lettura gestite dal disco che non provengono dalla cache. Puoi utilizzare questa metrica per capire se l'istanza è dimensionata correttamente per il tuo ambiente. Se necessario, puoi passare a un tipo di macchina più grande per gestire più richieste dalla cache e ridurre la latenza.

La metrica Numero di scritture indica il numero di operazioni di scrittura su disco. L'attività di scrittura viene generata anche se l'applicazione non è attiva perché le istanze Cloud SQL, tranne le repliche, scrivono in una tabella di sistema circa ogni secondo.

Connessioni per stato GA
postgresql/num_backends_by_state

Il numero di connessioni raggruppate in base ai seguenti stati: idle, active, idle_in_transaction, idle_in_transaction_aborted, disabled e fastpath_function_call.

Per informazioni su questi stati, consulta la riga state text nella documentazione pg_stat_activity.

Connessioni per database GA
postgresql/num_backends

Il numero di connessioni mantenute dall'istanza di database.

Byte in entrata/in uscita GA
network/received_bytes_count, network/sent_bytes_count

Il traffico di rete in termini di numero di byte in entrata (byte ricevuti) e byte in uscita (byte inviati) rispettivamente da e verso l'istanza.

Suddivisione attesa di I/O per tipo GA
postgresql/insights/aggregate/io_time

La suddivisione del tempo di attesa I/O per le istruzioni SQL in base ai tipi di lettura e scrittura.

Disponibile solo per le istanze in cui è abilitato Query Insights.

Conteggio deadlock per database GA
postgresql/deadlock_count

Il numero di deadlock per database.

Conteggio blocchi lettura GA
postgresql/blocks_read_count

Il numero di blocchi letti al secondo dal disco e dalla cache del buffer.

Righe elaborate dall'operazione GA
postgresql/tuples_processed_count

Il numero di righe elaborate per operazione al secondo.

Righe nel database per stato GA
postgresql/tuple_size

Il numero di righe per ogni stato del database. Cloud SQL segnala questa metrica se il numero di database nell'istanza è inferiore a 50.

Transazione meno recente in base all'età GA
postgresql/vacuum/oldest_transaction_age

L'età della transazione meno recente che blocca l'operazione vacuum.

Archiviazione WAL GA
replication/log_archive_success_count, replication/log_archive_failure_count

Il numero di file di log write-ahead archiviati correttamente o non archiviati al minuto.

Utilizzo ID transazione GA
postgresql/transaction_id_utilization

La percentuale di ID transazione utilizzati nell'istanza.

Conteggio connessioni per nome applicazione GA
postgresql/num_backends_by_application

Il numero di connessioni all'istanza Cloud SQL, raggruppate per applicazioni.

Le connessioni senza un nome applicazione vengono raggruppate come Unknown.

Righe recuperate, righe restituite e righe scritte
  • Righe recuperate GA: postgresql/tuples_fetched_count
  • Le righe hanno restituito GA: postgresql/tuples_returned_count
  • Righe scritte GA: postgresql/tuples_processed_count
  • Righe recuperate indica il numero di righe recuperate dalle query nell'istanza.
  • Righe restituite indica il numero di righe analizzate durante l'elaborazione delle query nell'istanza.
  • Righe scritte indica il numero di righe scritte nell'istanza durante l'esecuzione delle operazioni di inserimento, aggiornamento ed eliminazione.

Se la differenza tra le righe restituite e le righe recuperate è talmente elevata che i loro valori non vengono mostrati nella stessa scala, il valore delle righe recuperate sarà pari a 0 perché è trascurabile rispetto al valore delle righe restituite.

Dimensione dei dati temporanei GA
postgresql/temp_bytes_written_count

La quantità totale di dati (in byte) utilizzati per l'esecuzione delle query e degli algoritmi come join e ordinamento.

File temporanei GA
postgresql/temp_files_written_count

Il numero di file temporanei utilizzati per l'esecuzione delle query e degli algoritmi come join e ordinamento.

Inoltre, la metrica di Cloud Logging Voci di log per gravità (logging.googleapis.com/log_entry_count) mostra il numero totale di voci di log relative a errori e avvisi.

Questi vengono estratti da postgres.log, che è il log del database, e da pgaudit.log, che contiene informazioni sull'accesso ai dati.

Per saperne di più, consulta Metriche di Cloud SQL.

Cronologia degli eventi

La dashboard fornisce i dettagli dei seguenti eventi:

Nome eventoDescrizioneTipo di operazione
Instance restart Riavvia l'istanza Cloud SQL RESTART
Instance failover Avvia un failover manuale di un'istanza principale ad alta disponibilità (HA) su un'istanza in standby, che diventa l'istanza principale. FAILOVER
Instance maintenance Indica che l'istanza è attualmente in manutenzione. In genere, a causa della manutenzione, l'istanza non è disponibile per 1-3 minuti. MAINTENANCE
Instance backup Esegue un backup dell'istanza. BACKUP_VOLUME
Instance update Aggiorna le impostazioni di un'istanza Cloud SQL. UPDATE
Promote replica Promuove un'istanza di replica Cloud SQL. PROMOTE_REPLICA
Start replica Avvia la replica su un'istanza di replica di lettura Cloud SQL. START_REPLICA
Stop replica Arresta la replica su un'istanza di replica di lettura di Cloud SQL. STOP_REPLICA
Recreate replica Ricrea le risorse per un'istanza di replica Cloud SQL. RECREATE_REPLICA
Create replica Crea un'istanza di replica Cloud SQL. CREATE_REPLICA
Data import Importa i dati in un'istanza Cloud SQL. IMPORT
Instance export Esporta i dati da un'istanza Cloud SQL in un bucket Cloud Storage. EXPORT
Restore backup Ripristina un backup di un'istanza Cloud SQL. Questa operazione potrebbe causare il riavvio dell'istanza. RESTORE_VOLUME

Passaggi successivi