Es gibt verschiedene Möglichkeiten, die Leistung von Firebase Realtime Database zu überwachen und potenzielle Probleme in Ihrer App zu erkennen. Wenn Sie sich die eingehende und ausgehende Bandbreite und die Last Ihrer App ansehen, erhalten Sie außerdem eine Vorstellung davon, wie Ihre Rechnung aussehen wird. Darüber hinaus kann es hilfreich sein, sich damit bei möglichen Problemen ein genaues Bild von den Vorgängen in einer Datenbank zu machen.
Auf dieser Seite wird die Leistungsüberwachung von Realtime Database behandelt. Informationen zur Nutzungsüberwachung finden Sie unter Datenbanknutzung überwachen.
Realtime Database-Monitoring-Tools verwenden
Je nach gewünschtem Detaillierungsgrad können Sie Daten zur Leistung Ihrer Realtime Database mit verschiedenen Tools erheben.
Realtime Database-Profiler-Tool verwenden
Das Realtime Database-Profiler-Tool bietet eine Echtzeitübersicht über Lese-/Schreibvorgänge in Ihrer Datenbank. Der Bericht enthält Informationen zur Geschwindigkeit und Nutzlastgröße der einzelnen Vorgänge sowie zu nicht indexierten Abfragen. Sie enthält jedoch keine Verlaufsdaten oder Statistiken zum Verbindungs-Overhead und sollte nicht verwendet werden, um Abrechnungskosten zu schätzen.
Weitere Informationen zur Verwendung des Profiler-Tools finden Sie unter Datenbankprofil erstellen.
Firebase-Konsole verwenden
Auf dem Tab Nutzung in der Firebase-Konsole finden Sie Informationen zu gleichzeitigen Verbindungen zu Ihrer Datenbank, zur Menge der gespeicherten Daten, zur ausgehenden Bandbreite (einschließlich Protokoll- und Verschlüsselungs-Overhead) und zur Last Ihrer Datenbank in einminütigen Intervallen. Auf dem Tab Nutzung erhalten Sie zwar einen genaueren Überblick über die Gesamtleistung Ihrer Datenbank, aber möglicherweise können Sie nicht genügend ins Detail gehen, um potenzielle Leistungsprobleme zu beheben.
Cloud Monitoring verwenden
Mit Cloud Monitoring aus Google Cloud können Sie im Metrics Explorer einzelne Leistungsmesswerte aufrufen oder verschiedene Dashboards mit Diagrammen erstellen, in denen verschiedene Kombinationen von Leistungsmesswerten im Zeitverlauf dargestellt werden. Die Realtime Database-Integration mit Cloud Monitoring bietet die höchste Granularität.
Die Schritte zum Einrichten von Cloud Monitoring werden unter Datenbanknutzung überwachen beschrieben.
In den folgenden Abschnitten finden Sie Tipps zur Verwendung bestimmter Cloud Monitoring-Messwerte, um Leistungsprobleme zu erkennen.
Leistung in Cloud Monitoring beobachten
Wenn Sie Probleme mit der Leistung haben, z. B. mit der Verfügbarkeit oder Latenz, können Sie Cloud Monitoring verwenden, um die folgenden Messwerte zu überwachen.
Alle Messwerttypnamen haben das Präfix firebasedatabase.googleapis.com/
.
Messwertname | Beschreibung |
---|---|
Datenbanklast |
|
Netzwerk wegen Überschreitung des Datenvolumens deaktiviert |
|
Speicherplatz aufgrund von Überschreitungen deaktiviert |
|
Kombinieren Sie Messwerte in Diagrammen in Ihrem Dashboard, um hilfreiche Statistiken und Übersichten zu erhalten. Probieren Sie beispielsweise die folgenden Kombinationen aus:
- Vorgänge:Mit dem Messwert
io/database_load
können Sie sehen, wie viel der gesamten Datenbanklast von den einzelnen Vorgangstypen verwendet wird. Gruppieren Sieio/database_load
nach Typ, um Probleme mit verschiedenen Vorgangstypen zu beheben. - Speicher:Mit
storage/limit
undstorage/total_bytes
können Sie die Speicherauslastung im Verhältnis zu den Realtime Database-Speicherlimits überwachen. Sie können auchstorage/disabled_for_overages
hinzufügen, um zu sehen, ob Ihre App aufgrund überschrittener Speicherplatzlimits Ausfallzeiten hatte. - SSL-Overhead:Mit
network/https_requests_count
können Sie beobachten, wie viele SSL-Verbindungsanfragen Ihre Datenbank erhalten hat. Mit dem Filterreused_ssl_session
können Sie Anfragen herausfiltern, bei denen ein vorhandenes SSL-Sitzungsticket wiederverwendet wurde. Sie können dies anhand vonnetwork/sent_bytes_count
undnetwork/sent_payload_and_protocol_bytes_count
messen, um zu prüfen, ob Ihre App SSL-Sitzungstickets effizient verwendet.
Sie können auch Benachrichtigungen über Cloud Monitoring einrichten und Benachrichtigungen basierend auf Realtime Database-Messwerten erhalten.
Sie können sich beispielsweise benachrichtigen lassen, wenn sich Ihr io/database_load
einem bestimmten Grenzwert nähert.
Vollständige Liste der Realtime Database-Messwerte, die über Cloud Monitoring verfügbar sind
Typen von Datenbanklast
Der Messwert io/database_load
enthält auch ein Label, das angibt, welcher Vorgangstyp die Last verursacht hat. Folgende Arten von Vorgängen werden gemessen:
admin
: Administratorvorgänge wie das Festlegen von Regeln und das Lesen von Projektmetadaten.auth
: Authentifizierung über Dienstkonten oder Firebase-Authentifizierung für einen einzelnen Client überprüfen.client_management
: Verarbeitung des Hinzufügens und Entfernens gleichzeitiger Verbindungen, einschließlich des Ausführens von Trennungsvorgängen beim Entfernen.get_shallow
: Daten werden mit einem REST-GET-Befehl mitshallow=true
abgerufen.get
: REST-GET-Vorgänge verarbeiten.listen
: Abrufen der ursprünglichen Daten füron
- undonce
-Vorgänge von verbundenen Clients.on_disconnect
: Registrieren von Trennungsvorgängen von Clients.put
: Verarbeitung vonset
-Vorgängen von Clients oder REST PUT-Vorgängen.transaction
: Ausführen von Transaktionen über bedingte REST-Anfragen oder einentransaction
-Vorgang von einem Client.update
: Verarbeitung vonupdate
-Vorgängen oder REST-PATCH-Anfragen.
Sicherheitsregeln in Cloud Monitoring überwachen
Sie können auch die Auswertung von Sicherheitsregeln analysieren. Alle Messwerttypnamen haben das Präfix firebasedatabase.googleapis.com/
.
Messwertname | Beschreibung |
---|---|
Regelevaluierungen | rules/evaluation_count : Die Anzahl der Auswertungen von Realtime Database-Regeln, die als Reaktion auf Schreib- oder Leseanfragen ausgeführt werden. Sie können diesen Messwert nach dem Ergebnis der Anfrage aufschlüsseln (ALLOW, DENY oder ERROR). |
Passen Sie das Cloud Monitoring-Diagramm für die Regelauswertung nach Bedarf an, indem Sie beispielsweise nach bestimmten Auswertungsergebnissen filtern: ALLOW, DENY oder ERROR. Das Einrichten und Anpassen von Diagrammen wird unter Datenbanknutzung überwachen beschrieben.
Vollständige Liste der Realtime Database-Messwerte, die über Cloud Monitoring verfügbar sind