Istnieje kilka sposobów monitorowania skuteczności Firebase Realtime Database's i wykrywania potencjalnych problemów w aplikacji. Sprawdzanie przychodzącej i przepustowości dla ruchu wychodzącego oraz obciążenia aplikacji może też dać Ci wyobrażenie o tym, czego możesz się spodziewać na rachunku. Jeśli coś Ci się nie podoba, pomocne może być też dokładne sprawdzenie operacji w bazie danych.
Na tej stronie omawiamy monitorowanie skuteczności Realtime Database. Informacje o monitorowaniu wykorzystania znajdziesz w artykule Monitorowanie wykorzystania bazy danych.
Korzystanie z narzędzi do monitorowania Realtime Database
Dane o skuteczności Realtime Database możesz zbierać za pomocą kilku narzędzi, w zależności od potrzebnego poziomu szczegółowości.
Korzystanie z narzędzia do profilowania Realtime Database
Narzędzie do profilowania Realtime Database zapewnia w czasie rzeczywistym przegląd operacji odczytu i zapisu w bazie danych. Raport zawiera informacje o szybkości i rozmiarze ładunku każdej operacji, a także o zapytaniach bez indeksu. Nie zawiera jednak informacji historycznych ani statystyk dotyczących narzutu połączenia i nie należy go używać do szacowania kosztów rozliczeń.
Więcej informacji o korzystaniu z narzędzia do profilowania znajdziesz w artykule Profilowanie bazy danych.
Korzystanie z konsoli Firebase
Karta Wykorzystanie w Firebase konsoli Firebase zawiera informacje o jednoczesnych połączeniach z bazą danych, ilości przechowywanych danych, przepustowości dla ruchu wychodzącego (w tym narzutu protokołu i szyfrowania) oraz obciążeniu bazy danych w odstępach 1-minutowych. Karta Wykorzystanie zapewnia dokładniejszy przegląd ogólnej skuteczności bazy danych, ale może nie umożliwiać wystarczającego szczegółowego sprawdzenia, aby rozwiązać potencjalne problemy z wydajnością.
Użyj Cloud Monitoring
Dzięki Cloud Monitoring z Google Cloud możesz używać narzędzia Metrics Explorer do wyświetlania poszczególnych danych o skuteczności lub tworzyć różne panele z wykresami, które pokazują różne kombinacje danych o skuteczności w czasie. Integracja z Realtime Database z Cloud Monitoring zapewnia największy poziom szczegółowości.
Instrukcje konfigurowania Cloud Monitoring znajdziesz w artykule Monitorowanie wykorzystania bazy danych.
Wskazówki dotyczące używania konkretnych Cloud Monitoring danych do wykrywania problemów z wydajnością znajdziesz w tych sekcjach.
Monitorowanie skuteczności w Cloud Monitoring
Jeśli masz problemy ze skutecznością, w tym z czasem działania lub opóźnieniem, możesz użyć Cloud Monitoring do monitorowania tych danych.
Pamiętaj, że wszystkie nazwy typów danych mają prefiks firebasedatabase.googleapis.com/.
| Nazwa danych | Opis |
|---|---|
| Obciążenie bazy danych |
|
| Sieć wyłączona z powodu przekroczenia limitu |
|
| Miejsce na dane wyłączone z powodu przekroczenia limitu |
|
Łącz wskaźniki na wykresach w panelu, aby uzyskać pomocne statystyki i przeglądy. Na przykład wypróbuj te kombinacje:
- Operacje: użyj danych
io/database_load, aby sprawdzić, ile całkowitego obciążenia bazy danych jest wykorzystywane przez każdy typ operacji. Aby rozwiązać problemy z różnymi typami operacji, pogrupuj daneio/database_loadwedług typu. - Miejsce na dane: użyj danych
storage/limitistorage/total_bytes, aby monitorować wykorzystanie miejsca na dane w odniesieniu do limitów miejsca na dane w Realtime Database. Możesz też dodać danestorage/disabled_for_overages, aby sprawdzić, czy aplikacja uległa awarii z powodu przekroczenia limitów miejsca na dane. - Narzut SSL: użyj danych
network/https_requests_count, aby monitorować, ile żądań połączenia SSL otrzymała baza danych, i podzielić żądania, które ponownie wykorzystały istniejący bilet sesji SSL, za pomocą filtrareused_ssl_session. Możesz porównać te dane z danyminetwork/sent_bytes_countinetwork/sent_payload_and_protocol_bytes_count, aby sprawdzić, czy aplikacja efektywnie korzysta z biletów sesji SSL.
Możesz też skonfigurować alerty przez
Cloud Monitoring i otrzymywać powiadomienia na podstawie Realtime Database danych.
Możesz na przykład otrzymywać powiadomienia, jeśli dane io/database_load zbliżają się do określonego progu.
Pełną listę danych Realtime Database dostępnych w Cloud Monitoring znajdziesz tutaj.
Typy obciążenia bazy danych
Dane io/database_load zawierają też etykietę wskazującą typ operacji, która spowodowała obciążenie. Możliwe typy mierzonych operacji:
admin: operacje administracyjne, takie jak ustawianie reguł i odczytywanie metadanych projektu.auth: weryfikowanie uwierzytelniania z kont usług lub uwierzytelniania Firebase dla pojedynczego klienta.client_management: obsługa dodawania i usuwania jednoczesnych połączeń w tym wykonywanie operacji rozłączania podczas usuwania.get_shallow: pobieranie danych z żądania REST GET z parametremshallow=true.get: obsługa operacji REST GET.listen: pobieranie początkowych danych dla operacjionionceod połączonych klientów.on_disconnect: rejestrowanie operacji rozłączania od klientów.put: obsługa operacjisetod klientów lub operacji REST PUT.transaction: wykonywanie transakcji z warunkowych żądań REST lub operacjitransactionod klienta.update: obsługa operacjiupdatelub żądań REST PATCH.
Monitorowanie reguł bezpieczeństwa w Cloud Monitoring
Możesz też analizować ocenę reguł bezpieczeństwa. Pamiętaj, że wszystkie nazwy typów danych mają prefiks firebasedatabase.googleapis.com/.
| Nazwa danych | Opis |
|---|---|
| Oceny reguł | rules/evaluation_count. Liczba ocen reguł Bazy danych czasu rzeczywistego przeprowadzonych w odpowiedzi na żądania zapisu lub odczytu. Te dane możesz podzielić według wyniku żądania (ALLOW, DENY lub ERROR). |
W razie potrzeby dostosuj wykres Cloud Monitoring do ocen reguł, np. filtrując według konkretnych wyników oceny (ALLOW, DENY lub ERROR). Konfigurowanie i dostosowywanie wykresów opisujemy w artykule Monitorowanie wykorzystania bazy danych.
Pełną listę danych Realtime Database dostępnych w Cloud Monitoring znajdziesz tutaj.