Monitoruj wydajność bazy danych

Istnieje kilka różnych sposobów monitorowania wydajności Bazy danych czasu rzeczywistego Firebase i wykrywania potencjalnych problemów w aplikacji. Spojrzenie na przychodzącą i wychodzącą przepustowość oraz obciążenie Twojej aplikacji może również dać wyobrażenie o tym, czego możesz się spodziewać na rachunku. Ponadto, jeśli coś wydaje się nie tak, uzyskanie jasnego obrazu operacji bazy danych może być pomocnym narzędziem do rozwiązywania problemów.

Na tej stronie omówiono monitorowanie wydajności bazy danych czasu rzeczywistego. Aby uzyskać informacje na temat monitorowania użycia, zobacz Monitorowanie użycia bazy danych .

Korzystaj 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 wymaganego poziomu szczegółowości.

Użyj narzędzia do profilowania 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 wielkości ładunku każdej operacji, oprócz nieindeksowanych zapytań. Nie obejmuje ona jednak informacji historycznych ani żadnych statystyk dotyczących narzutu na połączenie i nie powinna być używana do szacowania kosztów rozliczeniowych .

Aby dowiedzieć się więcej o korzystaniu z narzędzia profilującego, zobacz Profilowanie bazy danych .

Użyj konsoli Firebase

Karta Użycie w konsoli Firebase zawiera informacje o równoczesnych połączeniach z bazą danych, ilości przechowywanych danych, przepustowości wychodzącej (w tym narzutu na protokół i szyfrowanie) oraz obciążeniu bazy danych w odstępach 1-minutowych. Chociaż karta Użycie zapewnia dokładniejszy przegląd ogólnej wydajności bazy danych, możesz nie być w stanie przeanalizować wystarczająco dużo, aby rozwiązać potencjalne problemy z wydajnością.

Użyj monitorowania w chmurze

Dzięki usłudze Cloud Monitoring firmy Google Cloud możesz używać Eksploratora metryk do przeglądania poszczególnych metryk wydajności lub tworzenia różnych pulpitów nawigacyjnych z wykresami, które przedstawiają różne kombinacje metryk wydajności w czasie. Integracja Realtime Database z Cloud Monitoring oferuje najgłębszy poziom szczegółowości.

Kroki konfigurowania usługi Cloud Monitoring opisano w temacie Monitorowanie użycia bazy danych .

Zapoznaj się z poniższymi sekcjami, aby uzyskać 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 czasem działania lub opóźnieniami, możesz użyć Cloud Monitoring do monitorowania następujących metryk. Pamiętaj, ż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 używana do przetwarzania żądań w czasie. Mogą wystąpić problemy z wydajnością, gdy obciążenie bazy danych zbliża się do całkowitej dostępnej przepustowości. Możesz także zobaczyć, które typy operacji wykorzystują najwięcej obciążenia i odpowiednio rozwiązywać problemy. Zgłoszone obciążenie może przekroczyć 100% w przypadku operacji trwających dłużej niż minutę. Dzieje się tak, gdy łączna przepustowość używana przez wiele minut jest skondensowana do minutowego interwału raportowania po zakończeniu operacji.

Sieć wyłączona z powodu nadwyżki

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.

Pamięć wyłączona z powodu nadwyżki

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

Łącz metryki na wykresach na pulpicie nawigacyjnym, aby uzyskać przydatne informacje i przeglądy. Na przykład wypróbuj następujące kombinacje:

  • Operacje: Użyj metryki io/database_load , aby zobaczyć, jaka część całkowitego obciążenia bazy danych jest używana przez każdy typ operacji. Pamiętaj, aby pogrupować io/database_load według typu, aby rozwiązać problemy z różnymi typami operacji.
  • Magazyn: użyj opcji storage/limit i storage/total_bytes aby monitorować wykorzystanie magazynu w odniesieniu do limitów magazynu 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 przestrzeni dyskowej.
  • Narzut SSL: Użyj network/https_requests_count , aby monitorować, ile żądań połączenia SSL otrzymała Twoja baza danych, i podziel żądania, które ponownie wykorzystały istniejący bilet sesji SSL, za pomocą filtra reused_ssl_session . Możesz to zmierzyć w porównaniu z network/sent_bytes_count i network/sent_payload_and_protocol_bytes_count aby monitorować, czy Twoja aplikacja efektywnie korzysta z biletów sesji SSL.

Możesz także skonfigurować alerty za pomocą Cloud Monitoring i otrzymywać powiadomienia na podstawie metryk bazy danych czasu rzeczywistego. Na przykład możesz wybrać opcję otrzymywania powiadomienia, jeśli obciążenie io/database_load zbliża się do określonego progu.

Zobacz pełną listę metryk Bazy danych czasu rzeczywistego dostępnych w Cloud Monitoring .

Typy ładowania bazy danych

Metryka io/database_load zawiera również etykietę typu operacji, która spowodowała obciążenie. Poniżej przedstawiono możliwe rodzaje mierzonych operacji:

  • admin : operacje administracyjne, takie jak ustawianie reguł i odczytywanie metadanych projektu.
  • auth : Weryfikacja uwierzytelniania z kont usług lub uwierzytelniania Firebase dla pojedynczego klienta.
  • client_management : Obsługa dodawania i usuwania jednoczesnych połączeń obejmuje uruchamianie operacji rozłączania przy usuwaniu.
  • get_shallow : Pobieranie danych z REST GET z shallow=true .
  • get : Obsługa operacji REST GET.
  • listen : Pobieranie danych początkowych dla operacji on ” i once od podłączonych klientów.
  • on_disconnect : Rejestrowanie operacji rozłączania od klientów.
  • 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. Pamiętaj, że wszystkie nazwy typów metryk mają przedrostek firebasedatabase.googleapis.com/ .

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

W razie potrzeby dostosuj swój wykres Cloud Monitoring pod kątem oceny reguł, na przykład filtrując według określonych wyników oceny, ZEZWÓL, ODMÓW lub BŁĄD. Konfigurowanie i dostosowywanie wykresów omówiono w Monitorowaniu użycia bazy danych .

Zobacz pełną listę metryk Bazy danych czasu rzeczywistego dostępnych w Cloud Monitoring .