Esistono diversi modi per monitorare le prestazioni di Firebase Realtime Database e individuare potenziali problemi nella tua app. L'esame della larghezza di banda in entrata e della larghezza di banda in uscita e del carico della tua app può anche darti un'idea di cosa aspettarti dalla fattura. Inoltre, se qualcosa sembra non funzionare, avere un quadro chiaro delle operazioni del database può essere un utile strumento di risoluzione dei problemi.
Questa pagina illustra il monitoraggio delle prestazioni di Realtime Database. Per il monitoraggio dell'utilizzo, consulta Monitora l'utilizzo del database.
Utilizza gli strumenti di monitoraggio di Realtime Database
Puoi raccogliere dati sul rendimento di Realtime Database tramite alcuni strumenti diversi, a seconda del livello di granularità di cui hai bisogno.
Utilizza lo strumento di profilazione Realtime Database
Lo strumento di profilazione Realtime Database fornisce una panoramica in tempo reale delle operazioni di lettura/scrittura sul tuo database. Il report include informazioni sulla velocità e sulle dimensioni del payload di ogni operazione, oltre alle query non indicizzate. Tuttavia, non include informazioni storiche o statistiche sull'overhead di connessione e non deve essere utilizzato per stimare i costi fatturati.
Per scoprire di più sull'utilizzo dello strumento Profiler, consulta Profila il tuo database.
Utilizza la console Firebase
La scheda Utilizzo nella console Firebase offre informazioni sulle connessioni simultanee al tuo database, sulla quantità di dati che stai archiviando, sulla larghezza di banda in uscita (inclusi l'overhead di protocollo e crittografia) e sul carico del database in intervalli di 1 minuto. Sebbene la scheda Utilizzo offra una panoramica più accurata delle prestazioni complessive del database, potresti non essere in grado di eseguire un'analisi sufficientemente approfondita per risolvere potenziali problemi di prestazioni.
Utilizza Cloud Monitoring
Con Cloud Monitoring di Google Cloud, puoi utilizzare Esplora metriche per visualizzare singole metriche sul rendimento o creare dashboard diverse con grafici che mostrano varie combinazioni di metriche sul rendimento nel tempo. L'integrazione di Realtime Database con Cloud Monitoring offre il livello di granularità più profondo.
I passaggi per configurare Cloud Monitoring sono descritti in Monitora l'utilizzo del database.
Consulta le sezioni seguenti per suggerimenti sull'utilizzo di metriche Cloud Monitoring specifiche per individuare problemi di prestazioni.
Monitora il rendimento in Cloud Monitoring
Se riscontri problemi di prestazioni, tra cui uptime o latenza, ti consigliamo di utilizzare Cloud Monitoring per monitorare le seguenti metriche.
Tieni presente che tutti i nomi dei tipi di metriche sono preceduti dal prefisso firebasedatabase.googleapis.com/.
| Nome metrica | Descrizione |
|---|---|
| Carico database |
|
| Rete disattivata per superamento dei limiti |
|
| Spazio di archiviazione disattivato per superamento dei limiti |
|
Combina le metriche nei grafici della dashboard per ottenere insight e panoramiche utili. Ad esempio, prova le seguenti combinazioni:
- Operazioni: utilizza la metrica
io/database_loadper vedere quanto del carico totale del database viene utilizzato da ogni tipo di operazione. Assicurati di raggruppareio/database_loadper tipo per risolvere i problemi relativi ai diversi tipi di operazioni. - Spazio di archiviazione: utilizza
storage/limitestorage/total_bytesper monitorare l'utilizzo dello spazio di archiviazione in relazione ai limiti di spazio di archiviazione di Realtime Database. Puoi anche aggiungerestorage/disabled_for_overagesper verificare se la tua app ha subito tempi di inattività a causa del superamento dei limiti di spazio di archiviazione. - Overhead SSL: utilizza
network/https_requests_countper monitorare il numero di richieste di connessione SSL ricevute dal database e suddividi le richieste che hanno riutilizzato un ticket di sessione SSL esistente con il filtroreused_ssl_session. Puoi misurare questo valore rispetto anetwork/sent_bytes_countenetwork/sent_payload_and_protocol_bytes_countper monitorare se la tua app utilizza o meno i ticket di sessione SSL in modo efficiente.
Puoi anche configurare 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 sta avvicinando a una determinata soglia.
Consulta l'elenco completo delle metriche di Realtime Database disponibili tramite Cloud Monitoring.
Tipi di carico del database
La metrica io/database_load fornisce anche un'etichetta che indica il 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 di regole e la lettura dei metadati del progetto.auth: verifica l'autenticazione dai service account o da Firebase Authentication per un singolo client.client_management: gestione dell'aggiunta e della rimozione di connessioni simultanee, incluse le operazioni di disconnessione durante la rimozione.get_shallow: recupero dei dati da un GET REST conshallow=true.get: gestione delle operazioni GET REST.listen: recupero dei dati iniziali per le operazionioneoncedai client connessi.on_disconnect: registrazione delle operazioni di disconnessione dai client.put: gestione delle operazionisetdai client o delle operazioni PUT REST.transaction: esecuzione di transazioni da richieste REST condizionali o un'operazionetransactionda un client.update: gestione delle operazioniupdateo delle richieste PATCH REST.
Monitora le regole di sicurezza in Cloud Monitoring
Puoi anche analizzare la valutazione delle regole di sicurezza. Tieni presente che tutti i nomi dei tipi di metrica sono preceduti dal prefisso firebasedatabase.googleapis.com/.
| Nome metrica | Descrizione |
|---|---|
| Valutazioni delle regole | rules/evaluation_count. Il numero di valutazioni delle regole di Realtime Database eseguite in risposta alle richieste di scrittura o lettura. Puoi suddividere questa metrica in base al risultato della richiesta (ALLOW, DENY o ERROR). |
Personalizza il grafico Cloud Monitoring per le valutazioni delle regole in base alle tue esigenze, ad esempio filtrando in base a risultati di valutazione specifici, ALLOW, DENY o ERROR. La configurazione e la personalizzazione dei grafici sono descritte in Monitora l'utilizzo del database.
Consulta l'elenco completo delle metriche di Realtime Database disponibili tramite Cloud Monitoring.