Optymalizacja skuteczności zaczyna się od określenia kluczowych danych, zwykle związanych z czasem oczekiwania i przepustowością. Dodanie monitorowania w celu rejestrowania i śledzenia tych danych ujawnia słabe punkty aplikacji. Dzięki danym można przeprowadzić optymalizację, aby poprawić wskaźniki skuteczności.
Dodatkowo wiele narzędzi do monitorowania umożliwia konfigurowanie alertów dotyczących danych, dzięki czemu otrzymujesz powiadomienia, gdy zostanie osiągnięty określony próg. Możesz na przykład skonfigurować alert, który będzie Cię powiadamiał, gdy odsetek nieudanych żądań wzrośnie o więcej niż x% w stosunku do normalnego poziomu. Narzędzia do monitorowania mogą pomóc Ci określić, jak wygląda normalna skuteczność, i wykryć nietypowe skoki czasu oczekiwania, liczby błędów i innych kluczowych danych. Możliwość monitorowania tych danych jest szczególnie ważna w krytycznych okresach dla firmy lub po wprowadzeniu nowego kodu do środowiska produkcyjnego.
Określanie danych dotyczących czasu oczekiwania
Zadbaj o to, aby interfejs użytkownika był jak najbardziej responsywny. Pamiętaj, że użytkownicy oczekują jeszcze wyższych standardów od aplikacji mobilnych. Należy też mierzyć i śledzić czas oczekiwania w przypadku usług backendowych, zwłaszcza że może on prowadzić do problemów z przepustowością, jeśli nie będzie kontrolowany.
Sugerowane dane do śledzenia:
- Czas trwania żądania
- Czas trwania żądania z dokładnością do podsystemu (np. wywołania interfejsu API)
- Czas trwania zadania
Określanie danych dotyczących przepustowości
Przepustowość to miara łącznej liczby żądań obsłużonych w danym okresie. Na przepustowość może wpływać czas oczekiwania podsystemów, dlatego aby ją poprawić, może być konieczna optymalizacja pod kątem czasu oczekiwania.
Oto kilka sugerowanych danych do śledzenia:
- Zapytania na sekundę
- Rozmiar danych przesyłanych na sekundę
- Liczba operacji wejścia/wyjścia na sekundę
- Wykorzystanie zasobów, np. procesora lub wykorzystanie pamięci
- Rozmiar zaległości w przetwarzaniu, np. pub/sub lub liczba wątków
Nie tylko średnia
Częstym błędem przy pomiarze skuteczności jest uwzględnianie tylko średniej (średniej) wartości. Chociaż jest to przydatne, nie daje wglądu w rozkład czasu oczekiwania. Lepszym wskaźnikiem do śledzenia są percentyle skuteczności, np. 50., 75., 90. lub 99. percentyl danego wskaźnika.
Optymalizację można zwykle przeprowadzić w 2 krokach. Najpierw zoptymalizuj czas oczekiwania w 90. percentylu. Następnie weź pod uwagę 99. percentyl, czyli czas oczekiwania na końcu kolejki – niewielką część żądań, których wykonanie trwa znacznie dłużej.
Monitorowanie po stronie serwera w celu uzyskania szczegółowych wyników
Do śledzenia danych zwykle preferowane jest profilowanie po stronie serwera. Strona serwera jest zwykle znacznie łatwiejsza do instrumentacji, umożliwia dostęp do bardziej szczegółowych danych i jest mniej podatna na zakłócenia spowodowane problemami z łącznością.
Monitorowanie w przeglądarce w celu uzyskania pełnego wglądu
Profilowanie w przeglądarce może dostarczyć dodatkowych informacji o wrażeniach użytkowników. Może pokazać, które strony mają wolne żądania, co można następnie powiązać z monitorowaniem po stronie serwera w celu dalszej analizy.
Google Analytics zapewnia gotowe monitorowanie czasu wczytywania strony w raporcie Czas wczytywania strony. Dzięki temu możesz uzyskać kilka przydatnych widoków, które pomogą Ci zrozumieć wrażenia użytkowników w Twojej witrynie, w szczególności:
- Czas wczytywania strony
- Czas wczytywania przekierowania
- Czas reakcji serwera
Monitorowanie w chmurze
Do rejestrowania i monitorowania danych dotyczących skuteczności aplikacji możesz używać wielu narzędzi. Możesz na przykład użyć Cloud Logging, aby rejestrować dane dotyczące skuteczności w projekcie Google Cloud, a następnie skonfigurować panele w Cloud Monitoring, aby monitorować i segmentować zarejestrowane dane.
Więcej informacji o rejestrowaniu w Cloud Logging z niestandardowego interceptora w bibliotece klienta Python znajdziesz w przewodniku po rejestrowaniu. Przykład rejestrowania w Cloud Logging. Gdy te dane będą dostępne w Google Cloud, możesz na ich podstawie tworzyć dane, aby uzyskać wgląd w aplikację za pomocą Cloud Monitoring. Aby tworzyć dane na podstawie logów wysyłanych do Cloud Logging, postępuj zgodnie z instrukcjami w przewodniku po wskaźnikach opartych na logach zdefiniowanych przez użytkownika.
Przykład danych opartych na logach
Załóżmy, że chcesz monitorować wartość is_fault, aby lepiej zrozumieć współczynniki błędów w aplikacji. Możesz wyodrębnić wartość is_fault z logów
do nowego wskaźnika licznika, ErrorCount.


W Cloud Logging etykiety umożliwiają grupowanie danych w kategorie
na podstawie innych danych w logach. Możesz skonfigurować etykietę dla pola method wysyłanego do Cloud Logging, aby sprawdzić, jak liczba błędów jest dzielona według metody interfejsu Google Ads API.
Po skonfigurowaniu danych ErrorCount i etykiety Method możesz utworzyć
nowy
wykres w
panelu Monitoring, aby monitorować ErrorCount pogrupowane według Method.

Alerty
W Cloud Monitoring i innych narzędziach możesz skonfigurować zasady alertów, które określają, kiedy i jak alerty mają być wywoływane przez Twoje dane. Instrukcje konfigurowania alertów Cloud Monitoring znajdziesz w przewodniku po alertach.