Informationen zur Abrechnung von Realtime Databases

Firebase stellt die Daten in Rechnung, die Sie in Ihrer Datenbank und allen ausgehenden Netzwerken speichern Traffic in der Sitzungsschicht (Ebene 5) des OSI-Modells. Speicherplatz wird nach 5 $ pro GB/Monat, tägliche Auswertung. Der Standort wirkt sich nicht auf die Abrechnung aus Ihrer Datenbank. Ausgehender Traffic umfasst Verbindungs- und Verschlüsselungs-Overhead aus allen Datenbankvorgängen und über Datenbanklesevorgängen heruntergeladenen Daten. Beide Lese- und Schreibvorgänge von Datenbanken können Verbindungskosten auf Ihrer Rechnung verursachen. Alle Traffic zu und von Ihrer Datenbank, einschließlich von sicherheitsgefährdenden Vorgängen zu abrechenbaren Kosten führen.

Hier einige Beispiele für in Rechnung gestellte Zugriffe:

  • Heruntergeladene Daten:Wenn Clients Daten aus Ihrer Datenbank abrufen, wird Firebase werden die Kosten für die heruntergeladenen Daten berechnet. In der Regel macht das den Großteil Ihrer Bandbreitenkosten, aber dies ist nicht der einzige Faktor in Ihrer Rechnung.
  • Protokoll-Overhead:zusätzlicher Traffic zwischen dem Server und den Clients die zum Aufbau und zur Aufrechterhaltung einer Sitzung notwendig ist. Je nach zugrunde liegender kann dieser Traffic Folgendes umfassen: Realtime Database von Firebase Realtime Database Protokoll-Overhead, WebSocket-Overhead und HTTP-Header-Overhead. Jedes Mal, wenn ein Verbindung hergestellt wird, kommt dieser Overhead in Kombination mit der SSL-Verschlüsselung zu den Verbindungskosten bei. Obwohl dies nicht viel Bandbreite für eine einzelne Anfrage ausmachen, kann dies einen erheblichen Teil Ihrer Rechnung ausmachen. wenn die Nutzlast klein ist oder du häufig kurze Verbindungen aufbaust.
  • SSL-Verschlüsselungs-Overhead: SSL verursacht Kosten. der für sichere Verbindungen erforderlich ist. Diese Kosten durchschnittlich beträgt ungefähr 3, 5 KB für den ersten Handshake und etwa Bytes für TLS-Datensatzheader bei jeder ausgehenden Nachricht. Bei den meisten Apps einen kleinen Prozentsatz Ihrer Rechnung. Dies kann jedoch ein großer Prozentsatz wenn für Ihren speziellen Fall eine hohe Anzahl von SSL-Handshakes erforderlich ist. Beispiele: Geräte die keine TLS-Sitzungstickets unterstützen ist möglicherweise eine große Anzahl von SSL-Verbindungs-Handshakes erforderlich.
  • Firebase-Konsolendaten:Auch wenn dies normalerweise nicht signifikant an Realtime Database-Kosten berechnet, stellt Firebase Daten in Rechnung, die Sie lesen und aus der Firebase-Konsole schreiben.

In Rechnung gestellte Nutzung schätzen

Deine aktuellen Realtime Database-Verbindungen und die Datennutzung findest du in der Nutzung in der Firebase-Konsole. Sie können die Nutzung während der aktuellen Abrechnung prüfen die letzten 30 Tage oder die letzten 24 Stunden.

Firebase zeigt Nutzungsstatistiken für die folgenden Messwerte an:

  • Verbindungen:Die Anzahl der gleichzeitigen, derzeit offenen, Echtzeit-Verbindungen. Verbindungen zu Ihrer Datenbank. Dazu gehören folgende Echtzeit- Verbindungen: WebSocket, lange Polling-Ereignisse und vom HTML-Server gesendete Ereignisse. RESTful-Anfragen sind nicht enthalten.
  • Speicher:Die Menge der in der Datenbank gespeicherten Daten. Nicht enthalten Firebase Hosting oder über andere Firebase-Produkte gespeicherte Daten
  • Downloads:Alle aus Ihrer Datenbank heruntergeladenen Byte, einschließlich Protokollen und Verschlüsselungsaufwand.
  • Last:Dieses Diagramm zeigt, wie viel von Ihrer Datenbank verwendet, verarbeitet wird in einem Intervall von 1 Minute. Leistungsprobleme können auftreten wenn sich Ihre Datenbank 100 % nähert.

Nutzung optimieren

Es gibt einige Best Practices, die Sie anwenden können, um Ihre Datenbanknutzung zu optimieren und Bandbreitenkosten.

  • Native SDKs verwenden: Verwenden Sie nach Möglichkeit die SDKs, die der Plattform Ihrer App entsprechen, anstelle der REST API. Die SDKs halten offene Verbindungen aufrecht, wodurch die SSL-Verschlüsselungskosten reduziert werden, die bei der REST API normalerweise anfallen.
  • Auf Programmfehler prüfen:Wenn Ihre Bandbreitenkosten unerwartet hoch sind, prüfen Sie, dass deine App nicht mehr Daten synchronisiert oder nicht häufiger als ursprünglich synchronisiert wird beabsichtigt ist. Verwenden Sie zum Ermitteln von Problemen das Profiler-Tool, Ihre Lesevorgänge messen und das Debugging-Logging in der Android Objective-C und Web SDKs. Hintergrund- und Synchronisierungsprozesse in der App prüfen, um sicherzugehen dass alles wie gewünscht funktioniert.
  • Verbindungen reduzieren:Versuchen Sie, die Verbindung nach Möglichkeit zu optimieren. Bandbreite. Häufige, kleine REST-Anfragen können teurer sein als eine einzelne, kontinuierliche Verbindung über das native SDK. Wenn Sie die REST API verwenden, die Verwendung eines HTTP-Keep-Alive- oder vom Server gesendete Ereignisse was die Kosten für SSL-Handshakes senken kann.
  • TLS-Sitzungstickets verwenden: Senken Sie die Kosten für die SSL-Verschlüsselung beim Fortsetzen. Verbindungen durch den Herausgeber TLS-Sitzungstickets Dies ist besonders hilfreich, wenn Sie häufige, sichere Verbindungen benötigen. in der Datenbank.
  • Indexabfragen: Wenn Sie Ihre Daten indexieren, wird die Gesamtbandbreite, die Sie für Abfragen verwenden, reduziert. Das hat den doppelten Vorteil, dass Sie Ihre Kosten senken und die Leistung Ihrer Datenbank steigern. Verwenden Sie die Methode Profiler-Tools, mit denen Sie nicht indexierte Abfragen in in Ihrer Datenbank.
  • Listener optimieren: Fügen Sie Abfragen hinzu, um die Daten zu begrenzen, die von Ihren Listenern zurückgegeben werden, und verwenden Sie Listener, die nur Updates zu Daten herunterladen, z. B. on() anstelle von once(). Platzieren Sie Ihre Zuhörer außerdem wie möglich, um die Datenmenge zu begrenzen, die synchronisiert wird.
  • Speicherkosten reduzieren: Führen Sie regelmäßige Bereinigungsjobs aus und reduzieren Sie doppelte Einträge. Daten in Ihrer Datenbank.
  • Verwendungsregeln: Sie können damit potenziell kostspielige, nicht autorisierte Vorgänge in Ihrer Datenbank verhindern. Mit Firebase Realtime Database Security Rules könnte beispielsweise ein Szenario vermieden werden. bei denen ein böswilliger Nutzer wiederholt Ihre gesamte Datenbank herunterlädt. Weitere Informationen zur Verwendung von Firebase Realtime Database-Regeln

Der beste Optimierungsplan für Ihre App hängt von Ihrem jeweiligen Anwendungsfall ab. Auch wenn dies keine vollständige Liste von Best Practices ist, können Sie Weitere Tipps und Ratschläge von den Firebase-Experten finden Sie in der Slack-Kanal oder auf Stack Overflow.