Utilizzare gli Approfondimenti di sistema per migliorare le prestazioni del sistema

Questa pagina descrive come utilizzare la dashboard Cloud SQL System Insights. La dashboard Approfondimenti sul sistema mostra le metriche relative alle risorse utilizzate dall'istanza e ti aiuta a rilevare e analizzare i problemi di prestazioni del sistema.

Puoi utilizzare l'assistenza di Gemini in Database per osservare e risolvere i problemi delle tue risorse Cloud SQL per PostgreSQL. Per ulteriori informazioni, consulta Osservare e risolvere i problemi con l'assistenza di Gemini.

Visualizzare la dashboard Approfondimenti sul sistema

Per visualizzare la dashboard Approfondimenti sistema:

  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 nel pannello di navigazione SQL a sinistra.

Si apre la dashboard Approfondimenti di sistema.

Immagine della dashboard che mostra le metriche e la sequenza temporale degli eventi.

La dashboard Approfondimenti di sistema mostra le seguenti informazioni:

  1. Dettagli dell'istanza

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

  3. Schede riepilogative: forniscono una panoramica dell'integrità e del rendimento 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 che ti aiutano a comprendere diversi problemi, come throughput, 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 vista. Puoi anche utilizzare questa opzione per scegliere le metriche da visualizzare sulla dashboard.
  • Per mantenere aggiornata la dashboard, attiva l'opzione Aggiornamento automatico. Quando attivi l'aggiornamento automatico, i dati della dashboard vengono aggiornati ogni minuto.

  • Per impostazione predefinita, il selettore dell'ora mostra 1 day. Per modificare il periodo, seleziona uno degli altri periodi predefiniti o fai clic su Personalizza e definisci una data di inizio e una 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 Cloud SQL che dispongono delle stesse autorizzazioni.

Schede riepilogative

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

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

Grafici delle metriche

Una scheda del grafico per una metrica di esempio è visualizzata come segue.
Grafico che mostra dati metrici di Cloud SQL di esempio.

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

  • Per nascondere o mostrare la legenda, fai clic su .
  • Per visualizzare i valori delle metriche per un momento specifico nel periodo selezionato, muovi il cursore sopra il 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 aumentare lo zoom di un grafico, fai clic sul grafico e trascina orizzontalmente lungo l'asse x o verticalmente lungo l'asse y. Per annullare l'operazione di zoom, fai clic su . Le operazioni di zoom vengono applicate contemporaneamente a tutti i grafici di una dashboard.

  • Per visualizzare altre 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 di Cloud SQL in Metrics Explorer dopo aver selezionato il tipo di risorsa Database Cloud SQL.

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

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

Le stringhe di tipo 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

La frequenza del numero di nuove connessioni create nell'istanza Cloud SQL per PostgreSQL, al secondo. Cloud SQL calcola e mostra 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. La dashboard mostra questa metrica come nome evento di attesa:tipo evento di attesa.

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 per ogni componente della memoria viene calcolato come percentuale della memoria totale disponibile per il database.

Ritardo di replica massimo (byte) BETA
postgresql/external_sync/max_replica_byte_lag

Il ritardo di replica massimo (in byte) tra tutti i database sulla replica del server esterno.

Latenza query GA
postgresql/insights/aggregate/latencies

La distribuzione della latenza aggregata delle query in base a P99, P95 e P50 per utente e database.

Disponibile solo per le istanze con Query Insights abilitato.

Carico del 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 con Query Insights abilitato.

Utilizzo CPU GA
cpu/utilization

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

Archiviazione su disco per tipo GA
disk/bytes_used_by_data_type

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

Questa metrica ti aiuta a comprendere i costi di archiviazione. Per ulteriori informazioni sulle tariffe per l'utilizzo dello spazio di archiviazione, consulta Prezzi di archiviazione e networking.

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

Se le dimensioni dei log di scrittura anticipata causano un problema per la tua istanza, puoi aumentare le dimensioni dello spazio di archiviazione, ma l'aumento delle dimensioni dei log di scrittura anticipata nell'utilizzo del disco potrebbe essere temporaneo. Per evitare problemi di archiviazione imprevisti, Google consiglia di attivare gli incrementi automatici dello spazio di archiviazione quando si utilizza la copia incrementale a livello di blocco.

Per eliminare i log e recuperare spazio di archiviazione, puoi disattivare il recupero point-in-time. Tieni però 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 ed è consentito che aumentino oltre i limiti di capacità definiti dall'utente per evitare un evento di disco pieno, senza costi per l'utente.

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

Archiviazione su disco per tipo GA
disk/bytes_used_by_data_type

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

Questa metrica ti aiuta a comprendere i costi di archiviazione. Per ulteriori informazioni sulle tariffe per l'utilizzo dello spazio di archiviazione, consulta Prezzi di archiviazione e networking.

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

Per sapere 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 per il tipo di dati archived_wal_log è 0, i log dell'istanza vengono archiviati in Cloud Storage.

Tutti gli altri log esistenti per le istanze in cui è abilitato il recupero in un determinato momento continuano a essere archiviati su disco. La modifica relativa all'archiviazione dei log in Cloud Storage sarà resa disponibile in un secondo momento.

I log di scrittura anticipata utilizzati nel recupero del punto nel tempo vengono eliminati automaticamente con il backup automatico associato, cosa che in genere avviene dopo il raggiungimento del valore impostato per transactionLogRetentionDays. Si tratta del numero di giorni di log delle transazioni che Cloud SQL conserva per il recupero point-in-time, da 1 a 7.

Per le istanze con log di scrittura anticipata archiviati in Cloud Storage, i log vengono archiviati nella stessa regione dell'istanza principale. Questo spazio di archiviazione dei log (fino a sette giorni, la durata massima per il recupero in un determinato momento) non genera costi aggiuntivi per istanza.

Se per l'istanza è abilitato il recupero point-in-time e le dimensioni dei log write-ahead su disco stanno causando un problema, disattiva il recupero point-in-time e riattivalo per assicurarti che i nuovi log vengano archiviati in Cloud Storage nella stessa regione dell'istanza. Vengono eliminati i log write-ahead esistenti, pertanto non puoi eseguire un ripristino point-in-time precedente al momento in cui hai riattivato il recupero point-in-time. Tuttavia, anche se i log esistenti vengono eliminati, le dimensioni del disco rimangono invariate.

Per evitare problemi di archiviazione imprevisti, ti consigliamo di attivare gli aumenti automatici dello spazio di archiviazione per tutte le istanze quando utilizzi il recupero del punto nel tempo. Questo consiglio si applica solo se per la tua istanza è abilitato il recupero in un determinato momento e i log sono archiviati su disco.

Per eliminare i log e recuperare spazio di archiviazione, puoi disattivare il recupero point-in-time. Tieni però presente che la riduzione dei log di scrittura anticipata 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 ed è consentito che aumentino oltre i limiti di capacità definiti dall'utente per evitare un evento di disco pieno, senza costi per l'utente.

Un database appena creato utilizza circa 100 MB per le tabelle e i 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 da disco che non provengono dalla cache. Puoi utilizzare questa metrica per capire se le dimensioni dell'istanza sono corrette 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, a parte 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 a questi 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 di pg_stat_activity.

Connessioni per database GA
postgresql/num_backends

Il numero di connessioni mantenute dall'istanza di database.

Byte in entrata/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 dell'attesa IO 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 con Query Insights abilitato.

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 per 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 registra 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 di applicazione vengono raggruppate come Unknown.

Righe recuperate, righe restituite e righe scritte
  • Righe recuperate da GA: postgresql/tuples_fetched_count
  • Righe restituite da 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 di operazioni di inserimento, aggiornamento ed eliminazione.

Se la differenza tra le righe restituite e le righe recuperate è così grande che i relativi valori non vengono visualizzati nella stessa scala, il valore delle righe recuperate viene visualizzato come 0 perché è trascurabile rispetto al valore delle righe restituite.

Dimensione dati temporanei GA
postgresql/temp_bytes_written_count

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

File temporanei GA
postgresql/temp_files_written_count

Il numero di file temporanei utilizzati per l'esecuzione di query e 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 di errore e avviso.

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

Per ulteriori informazioni, consulta le metriche 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) a un'istanza in standby, che diventa l'istanza principale. FAILOVER
Instance maintenance Indica che l'istanza è attualmente in manutenzione. In genere, la manutenzione causa la mancata disponibilità dell'istanza 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 Esegui la promozione di un'istanza replica Cloud SQL. PROMOTE_REPLICA
Start replica Avvia la replica su un'istanza di replica di lettura Cloud SQL. START_REPLICA
Stop replica Interrompe la replica su un'istanza di replica di lettura Cloud SQL. STOP_REPLICA
Recreate replica Ricrea le risorse per un'istanza replica Cloud SQL. RECREATE_REPLICA
Create replica Crea un'istanza 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