Istnieje kilka sposobów monitorowania wydajności Firebase Realtime Database i wykrywania potencjalnych problemów w aplikacji. Sprawdzanie przychodzącej i wychodzącej przepustowości oraz obciążenia aplikacji może też dać Ci wyobrażenie o tym, czego możesz się spodziewać na rachunku. Jeśli coś Cię niepokoi, pomocne może być uzyskanie jasnego obrazu operacji w bazie danych.
Na tej stronie omawiamy Realtime Databasemonitorowanie skuteczności. 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 różnych narzędzi, w zależności od potrzebnej szczegółowości.
Korzystanie z narzędzia Realtime Database profiler
Realtime DatabaseNarzędzie profilujące zapewnia przegląd w czasie rzeczywistym operacji odczytu i zapisu w bazie danych. Raport zawiera informacje o szybkości i rozmiarze danych każdego działania, a także o niezindeksowanych zapytaniach. Nie zawiera jednak informacji historycznych ani statystyk dotyczących narzutu połączenia i nie należy jej używać do szacowania kosztów rozliczeniowych.
Więcej informacji o korzystaniu z narzędzia do profilowania znajdziesz w artykule Profilowanie bazy danych.
Korzystanie z konsoli Firebase
Karta Użycie w Firebasekonsoli zawiera informacje o jednoczesnych połączeniach z bazą danych, ilości przechowywanych danych, przepustowości wychodzącej (w tym o narzucie protokołu i szyfrowania) oraz obciążeniu bazy danych w interwałach 1-minutowych. Karta Użycie daje dokładniejszy ogólny wgląd w wydajność bazy danych, ale może nie umożliwiać wystarczającego zagłębienia się w szczegóły, aby rozwiązać potencjalne problemy z wydajnością.
Użyj konta Cloud Monitoring
W sekcji Cloud Monitoring na stronie Google Cloud możesz użyć Eksploratora danych, aby wyświetlić poszczególne dane o skuteczności, lub utworzyć różne panele z wykresami, które pokazują różne kombinacje danych o skuteczności w czasie. Integracja Realtime Database z Cloud Monitoring zapewnia największą szczegółowość.
Instrukcje konfigurowania Cloud Monitoring znajdziesz w artykule Monitorowanie wykorzystania bazy danych.
W sekcjach poniżej znajdziesz wskazówki dotyczące korzystania z określonych Cloud Monitoringdanych do wykrywania problemów z wydajnością.
Monitorowanie skuteczności w Cloud Monitoring
Jeśli masz problemy z wydajnoś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 są poprzedzone symbolem firebasedatabase.googleapis.com/
.
Nazwa wskaźnika | Opis |
---|---|
Obciążenie bazy danych |
|
Sieć wyłączona z powodu przekroczenia limitu |
|
Miejsce na dane wyłączone z powodu przekroczenia limitu |
|
Łącz dane na wykresach w panelu, aby uzyskać przydatne statystyki i podsumowania. Wypróbuj na przykład te kombinacje:
- Operacje: użyj danych
io/database_load
, aby sprawdzić, jaka część całkowitego obciążenia bazy danych jest wykorzystywana przez poszczególne typy operacji. Aby rozwiązać problemy z różnymi typami operacji, pogrupuj jeio/database_load
według typu. - Miejsce na dane: użyj ikon
storage/limit
istorage/total_bytes
, aby monitorować wykorzystanie miejsca na dane w odniesieniu do limitów miejsca na dane Realtime Database. Możesz też dodaćstorage/disabled_for_overages
, aby sprawdzić, czy w wyniku przekroczenia limitów miejsca na dane wystąpiły przestoje w działaniu aplikacji. - Obciążenie SSL: użyj
network/https_requests_count
, aby monitorować liczbę żądań połączeń SSL otrzymanych przez bazę danych, i rozdziel żądania, które ponownie wykorzystały istniejący bilet sesji SSL, za pomocą filtrareused_ssl_session
. Możesz porównać te wartości z wartościaminetwork/sent_bytes_count
inetwork/sent_payload_and_protocol_bytes_count
, aby sprawdzić, czy Twoja aplikacja efektywnie korzysta z biletów sesji SSL.
Możesz też skonfigurować alerty w Cloud Monitoring i otrzymywać powiadomienia na podstawie danych Realtime Database.
Możesz na przykład otrzymywać powiadomienia, gdy io/database_load
zbliża się do określonego progu.
Zobacz pełną listę danych Realtime Database dostępnych w ramach Cloud Monitoring.
Typy obciążeń bazy danych
Wskaźnik io/database_load
zawiera też etykietę typu operacji, która spowodowała obciążenie. Mierzone są te typy operacji:
admin
: operacje administracyjne, takie jak ustawianie reguł i odczytywanie metadanych projektu.auth
: Weryfikowanie uwierzytelniania z kont usług lub uwierzytelniania Firebase dla jednego klienta.client_management
: Obsługa dodawania i usuwania połączeń współbieżnych, w tym wykonywanie operacji rozłączania podczas usuwania.get_shallow
: pobieranie danych z żądania REST GET za pomocąshallow=true
.get
: obsługa operacji REST GET.listen
: pobieranie danych początkowych dla operacjion
ionce
z połączonych klientów.on_disconnect
: rejestrowanie operacji odłączania od klientów.put
: obsługa operacjiset
z klientów lub operacji REST PUT.transaction
: wykonywanie transakcji z warunkowych żądań REST lub operacjitransaction
z klienta.update
: obsługuje operacjeupdate
lub żądania REST PATCH.
Monitorowanie reguł zabezpieczeń w Cloud Monitoring
Możesz też analizować ocenę reguł zabezpieczeń. Pamiętaj, że nazwy wszystkich typów danych są poprzedzone symbolem firebasedatabase.googleapis.com/
.
Nazwa wskaźnika | Opis |
---|---|
Oceny reguł | rules/evaluation_count Liczba ocen reguł bazy danych w czasie rzeczywistym przeprowadzonych w odpowiedzi na żądania zapisu lub odczytu. Te dane można podzielić według wyniku żądania (ALLOW, DENY lub ERROR). |
W razie potrzeby dostosuj wykres Cloud Monitoring do ocen reguł, np. filtrując go według konkretnych wyników oceny: ALLOW, DENY lub ERROR. Konfigurowanie i dostosowywanie wykresów opisano w artykule Monitorowanie wykorzystania bazy danych.
Zobacz pełną listę danych Realtime Database dostępnych w ramach Cloud Monitoring.