Monitorowanie wydajności bazy danych

Bazę danych czasu rzeczywistego Firebase możesz monitorować na kilka sposobów skuteczność i wykrywanie potencjalnych problemów z aplikacją. Analizuję przepustowość i obciążenie przychodzące i wychodzące mogą też pokazać, których możesz się spodziewać na rachunku. Ponadto w razie problemów z wyjaśnieniem obraz operacji bazy danych może być przydatnym narzędziem do rozwiązywania problemów.

Na tej stronie omawiamy monitorowanie wydajności Bazy danych czasu rzeczywistego. Do użycia zapoznaj się z artykułem na temat monitorowania wykorzystania bazy danych.

Korzystanie z narzędzi do monitorowania Bazy danych czasu rzeczywistego

Dane o wydajności Bazy danych czasu rzeczywistego możesz zbierać za pomocą kilku w zależności od potrzebnego poziomu szczegółowości.

Używanie narzędzia do profilowania Bazy danych czasu rzeczywistego

Narzędzie do profilowania Bazy danych czasu rzeczywistego zapewnia przegląd w czasie rzeczywistym operacji odczytu i zapisu w bazie danych. Raport zawiera informacje o: informacje o szybkości i wielkości ładunku każdej operacji, a także z zapytaniami niezindeksowanymi. Nie zawiera danych historycznych ani statystyk dotyczących połączeń ale nie powinny służyć do szacowania kosztów rozliczeniowych.

Więcej informacji na temat korzystania z narzędzia do profilowania znajdziesz na stronie Przeprowadź profilowanie bazy danych.

Korzystanie z konsoli Firebase

Karta Użycie w Konsola Firebase udostępnia informacje o jednoczesnych połączeniach z bazą danych, przechowywane dane, przepustowość wychodząca (w tym protokół i szyfrowanie), ) i obciążenie bazy danych w jednominutowych przedziałach czasowych. Chociaż użycie zapewnia dokładniejszy przegląd ogólnej wydajności bazy danych, możesz nie być w stanie przeanalizować dostatecznie szczegółowo, aby rozwiązać potencjalne problemy ze skutecznością.

Korzystanie z Cloud Monitoring

Dzięki usłudze Cloud Monitoring z Google Cloud możesz używać wskaźników Eksplorator, aby wyświetlać poszczególne dane o skuteczności lub tworzyć różne panele dzięki wykresom, które pokazują różne kombinacje danych o skuteczności na przestrzeni czasu. Integracja Bazy danych czasu rzeczywistego z Cloud Monitoring zapewnia na określonym poziomie szczegółowości.

Instrukcje konfigurowania Cloud Monitoring opisano w artykule Monitorowanie wykorzystania bazy danych.

W sekcjach poniżej znajdziesz wskazówki dotyczące korzystania z poszczególnych usług Cloud Monitoring. i wykrywają problemy z wydajnością.

Monitorowanie wydajności w Cloud Monitoring

W przypadku problemów z wydajnością, w tym czasu działania i opóźnień, warto monitorować poniższe wskaźniki za pomocą Cloud Monitoring. Pamiętaj, że wszystkie nazwy typów danych mają prefiks firebasedatabase.googleapis.com/.

Nazwa wskaźnika Opis
Obciążenie bazy danych

io/database_load. Dzięki temu wskaźnikowi możesz monitorować, jaka część dostępna przepustowość bazy danych jest wykorzystywana podczas przetwarzania żądań w danym okresie. Możesz sprawdź problemy z wydajnością, gdy obciążenie bazy danych zbliży się do dostępnej połączenia internetowego. Można też sprawdzić, które typy operacji wykorzystują największe obciążenie, i rozwiązywać odpowiednie problemy. Raportowane obciążenie może przekraczać 100% podczas operacji które trwają dłużej niż minutę. Dzieje się tak, gdy łączna przepustowość wykorzystywana na przestrzeni wielu minut skróci się do minutowego interwału raportowania po zakończeniu operacji.

Sieć wyłączona z powodu nadwyżki

network/disabled_for_overages Ten wskaźnik odzwierciedla wszystkie przerwy w działaniu usługi, mogło dojść, jeśli baza danych czasu rzeczywistego przekroczyła jakąkolwiek przepustowość lub sieć i ograniczeniach.

Pamięć wyłączona w przypadku nadwyżki

storage/disabled_for_overages. Ten wskaźnik odzwierciedla wszystkie przerwy w działaniu usługi, mogło dojść do sytuacji, w której Baza danych czasu rzeczywistego przekroczyła limity miejsca.

Łącz dane na wykresach w panelu, aby uzyskać przydatne statystyki i streszczenia. Możesz np. wypróbować te kombinacje:

  • Operacje: użyj danych io/database_load, aby sprawdzić, jaka część całkowite obciążenie bazy danych jest używane przez poszczególne typy operacji. Pamiętaj o grupowaniu io/database_load według typu, aby rozwiązać problemy z różnymi typami operacji.
  • Pamięć: użyj storage/limit oraz storage/total_bytes do monitorowania wykorzystania miejsca na dane w odniesieniu do limitów miejsca w Bazie danych czasu rzeczywistego. Ty możesz też dodać storage/disabled_for_overages, aby sprawdzić, czy w przypadku aplikacji wystąpiło wszelkie przerwy w działaniu usługi w wyniku przekroczenia limitów miejsca na dane.
  • Narzut SSL: używaj network/https_requests_count do monitorowania liczby Połączenie SSL żąda od bazy danych odebranych żądań i rozdziela żądania, które ponownie użył istniejącego zgłoszenia sesji SSL z filtrem reused_ssl_session. Możesz to sprawdzić w porównaniu z network/sent_bytes_count oraz network/sent_payload_and_protocol_bytes_count, aby sprawdzić, czy aplikacja efektywnie wykorzystuje zgłoszenia na sesję SSL.

Alerty możesz też skonfigurować w Cloud Monitoring i otrzymuj powiadomienia na podstawie wskaźników w bazie danych czasu rzeczywistego. Możesz na przykład otrzymywać powiadomienia, gdy io/database_load zbliża się do określonego progu.

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

Typy obciążenia bazy danych

Wskaźnik io/database_load zawiera również etykietę określającą typ operacji który jest przyczyną obciążenia. Oto możliwe typy mierzonych działań:

  • admin: operacje administracyjne, takie jak ustawianie reguł i odczytywanie metadanych projektu.
  • auth: weryfikowanie uwierzytelniania z kont usługi lub z Firebase Uwierzytelnianie dla pojedynczego klienta.
  • client_management: obsługa dodawania i usuwania równoczesnych połączeń obejmuje to wykonywanie operacji odłączania po usunięciu.
  • get_shallow: pobieram dane z metody REST GET za pomocą shallow=true.
  • get: obsługa operacji REST GET.
  • listen: pobieram dane początkowe operacji on i once z połączonych klientów.
  • on_disconnect: rejestrowanie operacji odłączania od klientów.
  • put: obsługa operacji set pochodzących od klientów lub operacji PUT REST.
  • transaction: wykonywanie transakcji z warunkowych żądań REST lub Operacja transaction wykonana przez klienta.
  • update: obsługa operacji update lub żądań PATCH REST.

Monitorowanie reguł zabezpieczeń w Cloud Monitoring

Możesz też analizować ocenę reguł zabezpieczeń. Zwróć uwagę na wszystkie nazwy typów danych są poprzedzone ciągiem firebasedatabase.googleapis.com/.

Nazwa wskaźnika Opis
Oceny reguł rules/evaluation_count Liczba ocen reguł bazy danych czasu rzeczywistego w odpowiedzi na żądania zapisu lub odczytu. Możesz podzielić te dane według wyniku żądania (ALLOW, DENY lub ERROR).

Dostosuj wykres Cloud Monitoring pod kątem ocen reguł na przykład filtrując według konkretnych wyników oceny, ALLOW, DENY lub ERROR. Konfigurowanie i dostosowywanie wykresów omówione jest w artykule Monitoruj wykorzystanie bazy danych.

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