Check out what’s new from Firebase at Google I/O 2022. Learn more

Monitora le prestazioni del database

Esistono diversi modi per monitorare le prestazioni del database Firebase Realtime 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 discute il monitoraggio delle prestazioni del database in tempo reale. Per il monitoraggio dell'utilizzo, vedere Monitorare l'utilizzo del database .

Usa gli strumenti di monitoraggio del database in tempo reale

Puoi raccogliere dati sulle prestazioni del tuo database in tempo reale attraverso alcuni strumenti diversi, a seconda del livello di granularità di cui hai bisogno.

Utilizzare lo strumento Profiler database in tempo reale

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

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

Usa la console Firebase

La scheda Utilizzo nella console Firebase offre informazioni sulle connessioni simultanee al database, sulla quantità di dati archiviati, sulla larghezza di banda in uscita (inclusi protocollo e sovraccarico di crittografia) e sul carico del 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 abbastanza per risolvere potenziali problemi di prestazioni.

Usa il monitoraggio del cloud

Con Cloud Monitoring di Google Cloud, puoi utilizzare Metrics Explorer per visualizzare le singole metriche delle prestazioni o creare dashboard diversi con grafici che mostrano varie combinazioni di metriche delle prestazioni nel tempo. L'integrazione di Realtime Database con Cloud Monitoring offre il più profondo livello 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 specifiche metriche di monitoraggio del cloud per individuare i problemi di prestazioni.

Monitora le prestazioni in Cloud Monitoring

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

Nome della metrica Descrizione
Caricamento database

io/database_load . Utilizzare questa metrica per monitorare la quantità di larghezza di banda del database disponibile 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 stanno utilizzando la maggior parte del carico e risolvere i problemi di conseguenza. Il carico riportato potrebbe superare il 100% su operazioni che richiedono più di un minuto. Ciò si verifica quando la larghezza di banda totale utilizzata su più minuti viene condensata nell'intervallo di segnalazione di un minuto dopo il completamento dell'operazione.

Rete disabilitata per overage

network/disabled_for_overages . Questa metrica riflette eventuali interruzioni che potrebbero essersi verificate se il database in tempo reale 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 database in tempo reale ha superato i limiti di archiviazione.

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

  • Operazioni: utilizza la metrica io/database_load per vedere quanto del carico totale del database viene utilizzato da ciascun tipo di operazione. Assicurati di raggruppare io/database_load per tipo per risolvere i diversi tipi di operazioni.
  • Storage: utilizza storage/limit e storage/total_bytes per monitorare l'utilizzo dello storage in relazione ai limiti di storage del database in tempo reale. 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.
  • Sovraccarico SSL: utilizza network/https_requests_count per monitorare quante richieste di connessione SSL ha ricevuto il tuo database e suddividi 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 del database in tempo reale. Ad esempio, puoi scegliere di ricevere una notifica se il tuo io/database_load si avvicina a una certa soglia.

Consulta l' elenco completo delle metriche del database in tempo reale disponibili tramite Cloud Monitoring .

Tipi di caricamento del database

La metrica io/database_load fornisce anche un'etichetta del tipo di operazione che ha causato il carico. Di seguito sono riportati i possibili tipi di operazioni misurate:

  • admin : operazioni di amministrazione come l'impostazione delle regole e la lettura dei metadati del progetto.
  • auth : verifica dell'autenticazione da account di servizio o autenticazione Firebase per un singolo client.
  • client_management : gestione dell'aggiunta e rimozione di connessioni simultanee, inclusa l'esecuzione di operazioni di disconnessione alla 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 su operazioni di disconnessione dai client.
  • put : gestione delle operazioni di set dai client o delle operazioni REST PUT.
  • transaction : esecuzione di transazioni da richieste REST condizionali o un'operazione di transaction da un client.
  • update : gestione delle operazioni di update o delle richieste REST PATCH.

Monitora le regole di sicurezza nel monitoraggio cloud

Puoi anche analizzare la valutazione delle regole di sicurezza. Tieni presente che tutti i nomi dei tipi di metrica sono preceduti da firebasedatabase.googleapis.com/ .

Nome della metrica 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 di monitoraggio del cloud per le valutazioni delle regole in base alle esigenze, ad esempio filtrando risultati di valutazione particolari, ALLOW, DENY o ERROR. L'impostazione e la personalizzazione dei grafici è trattata in Monitorare l'utilizzo del database .

Consulta l' elenco completo delle metriche del database in tempo reale disponibili tramite Cloud Monitoring .