Utilizzare gli approfondimenti di sistema per migliorare le prestazioni del sistema

Questa pagina descrive come utilizzare la dashboard Approfondimenti sul sistema di Cloud SQL. 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 Databases per osservare e risolvere i problemi delle 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 sul 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 la cronologia degli eventi e le schede di riepilogo delle metriche.
Figura 1. Immagine della dashboard che mostra la cronologia degli eventi e le schede di riepilogo.

Immagine della dashboard che mostra i grafici delle metriche chiave.
Figura 2. Immagine della dashboard che mostra i grafici delle metriche per le metriche chiave.

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 sul rendimento 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 relative all'utilizzo della CPU, all'utilizzo del disco e agli errori di log.

  4. Grafici delle metriche: mostrano le informazioni sulle metriche del sistema operativo e del database che ti aiutano a ottenere informazioni su diversi problemi, come velocità effettiva, latenza e costi.

La dashboard offre le seguenti opzioni di alto livello:

  • Per visualizzare uno o due grafici per riga. Fai clic su Personalizza visualizzazione per scegliere come visualizzare questi grafici. Puoi anche utilizzare questa opzione per scegliere le metriche da visualizzare nella dashboard.
  • Per mantenere aggiornata la dashboard, attiva l'opzione Aggiornamento automatico. Quando attivi l'aggiornamento automatico, i dati della dashboard vengono aggiornati ogni minuto. Questa funzionalità non è compatibile con gli intervalli di tempo personalizzati.

  • Per impostazione predefinita, il selettore dell'ora mostra 1 day. 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 Cloud SQL che dispongono delle stesse autorizzazioni.

  • Per creare un avviso per un evento specifico, fai clic su Notifica.

  • Per visualizzare avvisi specifici, fai clic su Annotazioni.

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 dagli utenti.

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.
Grafico delle metriche che mostra le metriche di latenza delle query.

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

  • Per visualizzare i valori delle metriche per un momento specifico nel periodo selezionato, passa il cursore sopra il grafico.

  • Per aumentare lo zoom di un grafico, fai clic sul grafico e trascinalo orizzontalmente sull'asse x o verticalmente sull'asse y. Per annullare l'operazione di zoom, fai clic su Reimposta zoom. In alternativa, fai clic su uno dei periodi di tempo predefiniti nella parte superiore della dashboard. Le operazioni di zoom vengono applicate contemporaneamente a tutti i grafici di una dashboard.

  • Per visualizzare altre opzioni, fai clic su Altre opzioni per il grafico. La maggior parte dei grafici offre le seguenti opzioni:

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

    • Nascondere o comprimere la legenda.

    • Scarica un file PNG o CSV del grafico.

    • 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.

  • Per creare una dashboard personalizzata, fai clic su Personalizza dashboard e assegnale un nome. In alternativa, espandi il menu Predefiniti e seleziona una dashboard personalizzata esistente.

  • Per visualizzare i dati di un grafico delle metriche in dettaglio, fai clic su Esplora i dati. Qui puoi filtrare metriche specifiche e scegliere la modalità di visualizzazione del grafico:

    Visualizzazione personalizzabile dei dati delle metriche Cloud SQL.

    Per salvare questa visualizzazione personalizzata come grafico delle metriche, fai clic su Salva nella dashboard.

Metriche predefinite

La tabella seguente descrive le metriche Cloud SQL visualizzate per impostazione predefinita nella dashboard Approfondimenti sul sistema Cloud SQL.

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

Per informazioni sulla disponibilità delle seguenti metriche in base all'fase di lancio più recente, consulta Google Cloud Metriche.

Nome e tipo di metricaDescrizione
Nuove connessioni al secondo
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
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
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.

Numero di transazioni
postgresql/transaction_count

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

Componenti di memoria
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)
postgresql/external_sync/max_replica_byte_lag

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

Latenza della query
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
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
cpu/utilization

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

Archiviazione su disco per tipo
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 lo 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
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 delle istanze esistenti 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 lo 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
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 sul 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
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
postgresql/num_backends

Il numero di connessioni mantenute dall'istanza di database.

Byte in entrata/uscita
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 I/O per tipo
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
postgresql/deadlock_count

Il numero di deadlock per database.

Conteggio blocchi lettura
postgresql/blocks_read_count

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

Righe elaborate per operazione
postgresql/tuples_processed_count

Il numero di righe elaborate per operazione al secondo.

Righe nel database per stato
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à
postgresql/vacuum/oldest_transaction_age

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

Archiviazione WAL
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
postgresql/transaction_id_utilization

La percentuale di ID transazione utilizzati nell'istanza.

Conteggio connessioni per nome applicazione
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: postgresql/tuples_fetched_count
  • Righe restituite: postgresql/tuples_returned_count
  • Righe scritte: 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
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
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 comporta 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