Überwachen Sie die Datenbankleistung

Es gibt verschiedene Möglichkeiten, die Leistung Ihrer Firebase-Echtzeitdatenbank zu überwachen und potenzielle Probleme in Ihrer App zu erkennen. Ein Blick auf die eingehende und ausgehende Bandbreite und Auslastung Ihrer App kann Ihnen auch eine Vorstellung davon geben, was Sie auf Ihrer Rechnung erwartet. Wenn außerdem etwas nicht stimmt, kann es ein hilfreiches Tool zur Fehlerbehebung sein, sich einen klaren Überblick über den Betrieb Ihrer Datenbank zu verschaffen.

Auf dieser Seite wird die Leistungsüberwachung der Echtzeitdatenbank erläutert. Informationen zur Nutzungsüberwachung finden Sie unter Datenbanknutzung überwachen .

Verwenden Sie Echtzeit-Datenbanküberwachungstools

Sie können Daten über die Leistung Ihrer Echtzeitdatenbank mithilfe einiger verschiedener Tools sammeln, je nachdem, welche Granularitätsstufe Sie benötigen.

Verwenden Sie das Echtzeitdatenbank-Profiler-Tool

Das Realtime Database Profiler-Tool bietet einen Echtzeitüberblick über Lese-/Schreibvorgänge in Ihrer Datenbank. Der Bericht enthält neben nicht indizierten Abfragen auch Informationen zur Geschwindigkeit und Nutzlastgröße jedes Vorgangs. Es enthält jedoch keine historischen Informationen oder Statistiken zum Verbindungs-Overhead und sollte nicht zur Schätzung der Abrechnungskosten verwendet werden .

Weitere Informationen zur Verwendung des Profiler-Tools finden Sie unter Profilieren Ihrer Datenbank .

Verwenden Sie die Firebase-Konsole

Die Registerkarte „Nutzung“ in der Firebase-Konsole bietet Informationen über gleichzeitige Verbindungen zu Ihrer Datenbank, wie viele Daten Sie speichern, ausgehende Bandbreite (einschließlich Protokoll- und Verschlüsselungs-Overhead) und die Auslastung Ihrer Datenbank über 1-Minuten-Intervalle. Während Sie auf der Registerkarte „Nutzung“ einen genaueren Überblick über die Gesamtleistung Ihrer Datenbank erhalten, können Sie möglicherweise nicht ausreichend aufschlüsseln, um potenzielle Leistungsprobleme zu beheben.

Nutzen Sie Cloud Monitoring

Mit Cloud Monitoring von Google Cloud können Sie den Metrics Explorer verwenden, um einzelne Leistungsmetriken anzuzeigen, oder verschiedene Dashboards mit Diagrammen erstellen, die verschiedene Kombinationen von Leistungsmetriken im Zeitverlauf anzeigen. Die Echtzeitdatenbank-Integration mit Cloud Monitoring bietet die tiefste Granularitätsebene.

Die Schritte zum Einrichten von Cloud Monitoring werden unter Datenbanknutzung überwachen beschrieben.

In den folgenden Abschnitten finden Sie Tipps zur Verwendung spezifischer Cloud Monitoring-Metriken zur Erkennung von Leistungsproblemen.

Überwachen Sie die Leistung in Cloud Monitoring

Wenn Sie Probleme mit der Leistung haben, einschließlich Betriebszeit oder Latenz, möchten Sie möglicherweise Cloud Monitoring verwenden, um die folgenden Metriken zu überwachen. Beachten Sie, dass allen Metriktypnamen das Präfix firebasedatabase.googleapis.com/ vorangestellt ist.

Metrikname Beschreibung
Datenbanklast

io/database_load . Verwenden Sie diese Metrik, um zu überwachen, wie viel Ihrer verfügbaren Datenbankbandbreite im Laufe der Zeit für die Verarbeitung von Anforderungen verwendet wird. Möglicherweise treten Leistungsprobleme auf, wenn sich Ihre Datenbanklast der gesamten verfügbaren Bandbreite nähert. Sie können auch sehen, welche Vorgangstypen die meiste Last verbrauchen, und entsprechende Fehler beheben. Bei Vorgängen, die länger als eine Minute dauern, kann die gemeldete Auslastung 100 % überschreiten. Dies geschieht, wenn die über mehrere Minuten hinweg genutzte Gesamtbandbreite nach Abschluss des Vorgangs im minutenlangen Berichtsintervall zusammengefasst wird.

Netzwerk wegen Überschreitungen deaktiviert

network/disabled_for_overages . Diese Metrik spiegelt alle Ausfälle wider, die aufgetreten sein könnten, wenn Ihre Echtzeitdatenbank Bandbreiten- oder Netzwerkgrenzen überschritten hätte.

Speicher wegen Überschreitungen deaktiviert

storage/disabled_for_overages . Diese Metrik spiegelt alle Ausfälle wider, die möglicherweise aufgetreten sind, wenn Ihre Echtzeitdatenbank Speichergrenzen überschritten hat.

Kombinieren Sie Kennzahlen in Diagrammen auf Ihrem Dashboard, um hilfreiche Einblicke und Übersichten zu erhalten. Probieren Sie beispielsweise die folgenden Kombinationen aus:

  • Vorgänge: Verwenden Sie die Metrik io/database_load , um zu sehen, wie viel Ihrer gesamten Datenbanklast von jedem Vorgangstyp beansprucht wird. Stellen Sie sicher, dass Sie io/database_load nach Typ gruppieren, um Fehler bei verschiedenen Vorgangstypen zu beheben.
  • Speicher: Verwenden Sie storage/limit und storage/total_bytes , um Ihre Speichernutzung im Verhältnis zu den Speichergrenzen der Echtzeitdatenbank zu überwachen. Sie können auch storage/disabled_for_overages hinzufügen, um zu sehen, ob bei Ihrer App aufgrund der Überschreitung der Speichergrenzen Ausfallzeiten aufgetreten sind.
  • SSL-Overhead: Verwenden Sie network/https_requests_count um zu überwachen, wie viele SSL-Verbindungsanfragen Ihre Datenbank erhalten hat, und teilen Sie Anfragen, die ein vorhandenes SSL-Sitzungsticket wiederverwendet haben, mit dem Filter reused_ssl_session auf. Sie können dies anhand von network/sent_bytes_count und network/sent_payload_and_protocol_bytes_count messen, um zu überwachen, ob Ihre App SSL-Sitzungstickets effizient nutzt oder nicht.

Sie können auch Warnungen über Cloud Monitoring einrichten und Benachrichtigungen basierend auf Echtzeitdatenbankmetriken erhalten. Sie können beispielsweise festlegen, dass Sie eine Benachrichtigung erhalten möchten, wenn sich Ihr io/database_load einem bestimmten Schwellenwert nähert.

Sehen Sie sich die vollständige Liste der Echtzeitdatenbankmetriken an, die über Cloud Monitoring verfügbar sind .

Datenbankladetypen

Die Metrik io/database_load liefert auch eine Bezeichnung dafür, welcher Vorgangstyp die Last verursacht hat. Im Folgenden sind die möglichen Arten von gemessenen Vorgängen aufgeführt:

  • admin : Admin-Vorgänge wie das Festlegen von Regeln und das Lesen von Projektmetadaten.
  • auth : Überprüfung der Authentifizierung von Dienstkonten oder der Firebase-Authentifizierung für einen einzelnen Client.
  • client_management : Handhabung des Hinzufügens und Entfernens gleichzeitiger Verbindungen, einschließlich der Ausführung von Trennvorgängen beim Entfernen.
  • get_shallow : Abrufen der Daten von einem REST GET mit shallow=true .
  • get : Verarbeitet REST-GET-Operationen.
  • listen : Abrufen der Anfangsdaten für on und once Vorgänge von verbundenen Clients.
  • on_disconnect : Registrierung bei Trennvorgängen von Clients.
  • put : Behandelt set Operationen von Clients oder REST PUT-Operationen.
  • transaction : Durchführen von Transaktionen aus bedingten REST-Anfragen oder einer transaction von einem Client.
  • update : Bearbeitung update oder REST-PATCH-Anfragen.

Überwachen Sie Sicherheitsregeln im Cloud Monitoring

Sie können auch die Auswertung von Sicherheitsregeln analysieren. Beachten Sie, dass allen Metriktypnamen das Präfix firebasedatabase.googleapis.com/ vorangestellt ist.

Metrikname Beschreibung
Regelauswertungen rules/evaluation_count . Die Anzahl der Auswertungen von Echtzeitdatenbankregeln, die als Reaktion auf Schreib- oder Leseanforderungen durchgeführt werden. Sie können diese Metrik nach dem Ergebnis der Anfrage aufschlüsseln (ALLOW, DENY oder ERROR).

Passen Sie Ihr Cloud Monitoring-Diagramm für Regelauswertungen nach Bedarf an, indem Sie beispielsweise nach bestimmten Auswertungsergebnissen, ALLOW, DENY oder ERROR filtern. Das Einrichten und Anpassen von Diagrammen wird unter „Datenbanknutzung überwachen“ behandelt.

Sehen Sie sich die vollständige Liste der Echtzeitdatenbankmetriken an, die über Cloud Monitoring verfügbar sind .