Monitoruj wydajność bazy danych

Istnieje kilka różnych sposobów monitorowania wydajności bazy danych Firebase Realtime Database i wykrywania potencjalnych problemów w aplikacji. Analiza przepustowości i obciążenia przychodzącego i wychodzącego aplikacji może również dać Ci wyobrażenie o tym, czego możesz się spodziewać po rachunku. Ponadto, jeśli coś wydaje się nie działać, uzyskanie jasnego obrazu działania bazy danych może być pomocnym narzędziem do rozwiązywania problemów.

Na tej stronie omówiono monitorowanie wydajności bazy danych w czasie rzeczywistym. Informacje na temat monitorowania użycia można znaleźć w sekcji Monitorowanie wykorzystania bazy danych .

Skorzystaj z narzędzi do monitorowania bazy danych w czasie rzeczywistym

Możesz zbierać dane o wydajności bazy danych czasu rzeczywistego za pomocą kilku różnych narzędzi, w zależności od potrzebnego poziomu szczegółowości.

Użyj narzędzia profilera bazy danych czasu rzeczywistego

Narzędzie do profilowania bazy danych w czasie rzeczywistym zapewnia przegląd operacji odczytu/zapisu w bazie danych w czasie rzeczywistym. Raport zawiera informacje o szybkości i rozmiarze ładunku każdej operacji, a także niezindeksowane zapytania. Nie obejmuje ono jednak informacji historycznych ani żadnych statystyk dotyczących narzutu na połączenie i nie powinno być wykorzystywane do szacowania kosztów rozliczeniowych .

Aby dowiedzieć się więcej na temat korzystania z narzędzia profilującego, zobacz Profilowanie bazy danych .

Użyj konsoli Firebase

Karta Użycie w konsoli Firebase zawiera informacje o jednoczesnych połączeniach z bazą danych, ilości przechowywanych danych, przepustowości wychodzącej (w tym narzutu protokołu i szyfrowania) oraz obciążeniu bazy danych w odstępach 1-minutowych. Choć karta Użycie zapewnia dokładniejszy przegląd ogólnej wydajności bazy danych, szczegółowe informacje na temat potencjalnych problemów z wydajnością mogą nie być wystarczające.

Skorzystaj z monitorowania w chmurze

Dzięki Cloud Monitoring w Google Cloud możesz używać Eksploratora metryk, aby przeglądać indywidualne wskaźniki wydajności lub tworzyć różne pulpity nawigacyjne z wykresami przedstawiającymi różne kombinacje wskaźników wydajności w czasie. Integracja bazy danych czasu rzeczywistego z usługą Cloud Monitoring zapewnia najwyższy poziom szczegółowości.

Kroki konfiguracji Cloud Monitoring opisano w Monitoruj wykorzystanie bazy danych .

W poniższych sekcjach znajdziesz wskazówki dotyczące używania określonych metryk Cloud Monitoring do wykrywania problemów z wydajnością.

Monitoruj wydajność w Cloud Monitoring

Jeśli masz problemy z wydajnością, w tym z czasem działania lub opóźnieniami, możesz skorzystać z Cloud Monitoring, aby monitorować następujące wskaźniki. Należy pamiętać, że wszystkie nazwy typów metryk mają przedrostek firebasedatabase.googleapis.com/ .

Nazwa metryki Opis
Ładowanie bazy danych

io/database_load . Użyj tej metryki, aby monitorować, jaka część dostępnej przepustowości bazy danych jest wykorzystywana w czasie do przetwarzania żądań. Gdy obciążenie bazy danych zbliża się do całkowitej dostępnej przepustowości, mogą wystąpić problemy z wydajnością. Możesz także zobaczyć, które typy operacji zużywają najwięcej obciążenia, i odpowiednio rozwiązać problemy. Zgłoszone obciążenie może przekroczyć 100% w przypadku operacji trwających dłużej niż minutę. Dzieje się tak, gdy całkowita przepustowość wykorzystana przez wiele minut jest kondensowana w minutowym interwale raportowania po zakończeniu operacji.

Sieć wyłączona z powodu przekroczeń

network/disabled_for_overages . Ta metryka odzwierciedla wszelkie awarie, które mogły wystąpić, jeśli baza danych czasu rzeczywistego przekroczyła jakiekolwiek limity przepustowości lub sieci.

Magazyn wyłączony z powodu nadwyżek

storage/disabled_for_overages . Ta metryka odzwierciedla wszelkie awarie, które mogły wystąpić, jeśli baza danych Realtime Database przekroczyła jakiekolwiek limity miejsca.

Łącz dane na wykresach na pulpicie nawigacyjnym, aby uzyskać przydatne statystyki i przeglądy. Wypróbuj na przykład następujące kombinacje:

  • Operacje: Użyj metryki io/database_load aby sprawdzić, jaka część całkowitego obciążenia bazy danych jest wykorzystywana przez każdy typ operacji. Pamiętaj, aby pogrupować io/database_load według typu, aby rozwiązywać problemy z różnymi typami operacji.
  • Pamięć: Użyj storage/limit i storage/total_bytes , aby monitorować wykorzystanie pamięci w odniesieniu do limitów przechowywania bazy danych czasu rzeczywistego. Możesz także dodać storage/disabled_for_overages , aby sprawdzić, czy w aplikacji wystąpiły jakiekolwiek przestoje w wyniku przekroczenia limitów miejsca.
  • Narzut SSL: Użyj network/https_requests_count , aby monitorować liczbę żądań połączeń SSL otrzymanych przez Twoją bazę danych i rozdzielaj żądania, które ponownie wykorzystywały istniejący bilet sesji SSL, za pomocą filtru reused_ssl_session . Możesz to zmierzyć w oparciu o network/sent_bytes_count i network/sent_payload_and_protocol_bytes_count aby monitorować, czy Twoja aplikacja efektywnie wykorzystuje bilety sesji SSL.

Możesz także skonfigurować alerty za pośrednictwem Cloud Monitoring i otrzymywać powiadomienia na podstawie wskaźników bazy danych czasu rzeczywistego. Na przykład możesz wybrać otrzymywanie powiadomienia, jeśli obciążenie io/database_load zbliża się do określonego progu.

Zobacz pełną listę wskaźników bazy danych czasu rzeczywistego dostępnych w ramach Cloud Monitoring .

Typy ładowania bazy danych

Metryka io/database_load udostępnia również etykietę określającą, jaki typ operacji spowodował obciążenie. Poniżej przedstawiono możliwe rodzaje mierzonych operacji:

  • admin : Operacje administracyjne, takie jak ustawianie reguł i odczytywanie metadanych projektu.
  • auth : weryfikacja uwierzytelnienia z kont usług lub uwierzytelnienia Firebase dla pojedynczego klienta.
  • client_management : Obsługa dodawania i usuwania współbieżnych połączeń, obejmuje to uruchamianie operacji rozłączania po usunięciu.
  • get_shallow : Pobieranie danych z REST GET za pomocą shallow=true .
  • get : Obsługa operacji REST GET.
  • listen : Pobieranie początkowych danych dla operacji on i once od podłączonych klientów.
  • on_disconnect : Rejestracja operacji rozłączania się z klientami.
  • put : Obsługa operacji set od klientów lub operacji REST PUT.
  • transaction : Wykonywanie transakcji z warunkowych żądań REST lub operacji transaction od klienta.
  • update : Obsługa operacji update lub żądań REST PATCH.

Monitoruj reguły bezpieczeństwa w Cloud Monitoring

Możesz także analizować ocenę Reguł Bezpieczeństwa. Należy pamiętać, że wszystkie nazwy typów metryk mają przedrostek firebasedatabase.googleapis.com/ .

Nazwa metryki Opis
Oceny zasad rules/evaluation_count . Liczba ocen reguł bazy danych czasu rzeczywistego wykonanych w odpowiedzi na żądania zapisu lub odczytu. Możesz podzielić tę metrykę na podstawie wyniku żądania (ZEZWÓL, ODMÓW lub BŁĄD).

Dostosuj wykres Cloud Monitoring pod kątem ocen reguł według potrzeb, na przykład filtrując według konkretnych wyników oceny, ZEZWALAJ, ODMÓW lub BŁĄD. Konfigurowanie i dostosowywanie wykresów opisano w artykule Monitorowanie użycia bazy danych .

Zobacz pełną listę wskaźników bazy danych czasu rzeczywistego dostępnych w ramach Cloud Monitoring .