Monitora le prestazioni del database

Esistono diversi modi per monitorare le prestazioni del tuo Firebase Realtime Database e individuare potenziali problemi nella tua app. Osservare la larghezza di banda e il carico in entrata e in uscita della tua app può anche darti un'idea di cosa aspettarti dalla bolletta. Inoltre, se qualcosa sembra non funzionare, ottenere un quadro chiaro delle operazioni del database può essere un utile strumento per la risoluzione dei problemi.

Questa pagina tratta il monitoraggio delle prestazioni di Realtime Database. Per il monitoraggio dell'utilizzo, vedere Monitoraggio dell'utilizzo del database .

Utilizza gli strumenti di monitoraggio del database in tempo reale

Puoi raccogliere dati sulle prestazioni del tuo Realtime Database attraverso alcuni strumenti diversi, a seconda del livello di granularità di cui hai bisogno.

Utilizzare lo strumento di profilazione del database in tempo reale

Lo strumento Realtime Database Profiler fornisce una panoramica in tempo reale delle operazioni di lettura/scrittura sul database. Il rapporto include informazioni sulla velocità e sulla dimensione del carico utile di ciascuna operazione, oltre alle query non indicizzate. Tuttavia, non include informazioni storiche o statistiche sul sovraccarico della connessione e non deve essere utilizzato per stimare i costi di fatturazione .

Per ulteriori informazioni sull'utilizzo dello strumento profiler, consulta Profilare il tuo database .

Utilizza la console Firebase

La scheda Utilizzo nella console Firebase offre informazioni sulle connessioni simultanee al tuo database, la quantità di dati che stai archiviando, la larghezza di banda in uscita (incluso il sovraccarico di protocollo e crittografia) e il carico del tuo database a intervalli di 1 minuto. Sebbene la scheda Utilizzo offra una panoramica più accurata delle prestazioni complessive del database, potresti non essere in grado di approfondire a sufficienza per risolvere potenziali problemi di prestazioni.

Utilizza il monitoraggio nel cloud

Con Cloud Monitoring di Google Cloud, puoi utilizzare Metrics Explorer per visualizzare singole metriche prestazionali o creare diverse dashboard con grafici che mostrano varie combinazioni di metriche prestazionali nel tempo. L'integrazione del Realtime Database con Cloud Monitoring offre il livello più profondo di granularità.

I passaggi per la configurazione di Cloud Monitoring sono descritti in Monitorare l'utilizzo del database .

Consulta le sezioni seguenti per suggerimenti sull'utilizzo di parametri specifici di Cloud Monitoring per individuare problemi di prestazioni.

Monitorare le prestazioni in Cloud Monitoring

Se riscontri problemi con le prestazioni, inclusi tempi di attività o latenza, potresti utilizzare Cloud Monitoring per monitorare i seguenti parametri. Tieni presente che tutti i nomi dei tipi di metrica hanno il prefisso firebasedatabase.googleapis.com/ .

Nome metrico Descrizione
Caricamento database

io/database_load . Utilizza questa metrica per monitorare la quantità di larghezza di banda disponibile del database utilizzata per l'elaborazione delle richieste nel tempo. Potresti riscontrare problemi di prestazioni quando il carico del database si avvicina alla larghezza di banda totale disponibile. Puoi anche vedere quali tipi di operazioni utilizzano la maggior parte del carico e risolvere i problemi di conseguenza. Il carico segnalato potrebbe superare il 100% per le operazioni che richiedono più di un minuto. Ciò accade quando la larghezza di banda totale utilizzata in più minuti viene condensata nell'intervallo di reporting di un minuto dopo il completamento dell'operazione.

Rete disabilitata per eccedenze

network/disabled_for_overages . Questa metrica riflette eventuali interruzioni che potrebbero verificarsi se il tuo Realtime Database ha superato i limiti di larghezza di banda o di rete.

Archiviazione disabilitata per eccedenze

storage/disabled_for_overages . Questa metrica riflette eventuali interruzioni che potrebbero essersi verificate se il tuo Realtime Database ha superato i limiti di archiviazione.

Combina le metriche nei grafici della dashboard per ottenere approfondimenti e panoramiche utili. Ad esempio, prova le seguenti combinazioni:

  • Operazioni: utilizzare la metrica io/database_load per verificare la quantità di carico totale del database utilizzata da ciascun tipo di operazione. Assicurati di raggruppare io/database_load per tipo per risolvere i diversi tipi di operazioni.
  • Archiviazione: utilizzare storage/limit e storage/total_bytes per monitorare l'utilizzo dello spazio di archiviazione in relazione ai limiti di archiviazione del Realtime Database. Puoi anche aggiungere storage/disabled_for_overages per vedere se la tua app ha subito tempi di inattività a causa del superamento dei limiti di archiviazione.
  • Overhead SSL: utilizza network/https_requests_count per monitorare il numero di richieste di connessione SSL ricevute dal database e suddividere le richieste che hanno riutilizzato un ticket di sessione SSL esistente con il filtro reused_ssl_session . Puoi misurarlo rispetto a network/sent_bytes_count e network/sent_payload_and_protocol_bytes_count per monitorare se la tua app utilizza o meno i ticket di sessione SSL in modo efficiente.

Puoi anche impostare avvisi tramite Cloud Monitoring e ricevere notifiche in base alle metriche di Realtime Database. Ad esempio, puoi scegliere di ricevere una notifica se il tuo io/database_load si avvicina a una determinata soglia.

Consulta l' elenco completo delle metriche di Realtime Database disponibili tramite Cloud Monitoring .

Tipi di caricamento del database

Il parametro io/database_load fornisce anche un'etichetta del tipo di operazione che ha causato il carico. Di seguito le possibili tipologie di operazioni misurate:

  • admin : operazioni di amministrazione come l'impostazione di regole e la lettura dei metadati del progetto.
  • auth : verifica dell'autenticazione dagli account di servizio o dall'autenticazione Firebase per un singolo client.
  • client_management : gestione dell'aggiunta e della rimozione di connessioni simultanee, include l'esecuzione di operazioni di disconnessione al momento della rimozione.
  • get_shallow : recupero dei dati da un REST GET con shallow=true .
  • get : gestione delle operazioni REST GET.
  • listen : recupero dei dati iniziali per le operazioni on e once dai client connessi.
  • on_disconnect : registrazione delle operazioni di disconnessione dai client.
  • put : gestione delle operazioni set dai client o delle operazioni REST PUT.
  • transaction : esecuzione di transazioni da richieste REST condizionali o un'operazione transaction da un client.
  • update : gestione delle operazioni update o delle richieste REST PATCH.

Monitorare le regole di sicurezza nel monitoraggio del cloud

È inoltre possibile analizzare la valutazione delle regole di sicurezza. Tieni presente che tutti i nomi dei tipi di metrica hanno il prefisso firebasedatabase.googleapis.com/ .

Nome metrico Descrizione
Valutazioni delle regole rules/evaluation_count . Il numero di valutazioni delle regole del database in tempo reale eseguite in risposta a richieste di scrittura o lettura. Puoi suddividere questa metrica in base al risultato della richiesta (ALLOW, DENY o ERROR).

Personalizza il tuo grafico Cloud Monitoring per le valutazioni delle regole in base alle esigenze, ad esempio filtrando in base a particolari risultati della valutazione, CONSENTI, NEGA o ERRORE. L'impostazione e la personalizzazione dei grafici sono trattate in Monitoraggio dell'utilizzo del database .

Consulta l' elenco completo delle metriche di Realtime Database disponibili tramite Cloud Monitoring .