Zalecenia dotyczące zbierania danych wydajności

Dotyczy tego zalecenia dotyczącego listy kontrolnej wydajności platformy Azure Well-Architected Framework:

PE:04 Zbieranie danych dotyczących wydajności. Składniki i przepływy obciążenia powinny zapewniać automatyczne, ciągłe i znaczące metryki i dzienniki. Zbieraj dane na różnych poziomach obciążenia, takich jak aplikacja, platforma, dane i poziomy systemu operacyjnego.

Zbieranie danych wydajności to proces zbierania metryk i dzienników, które dostarczają informacji o wydajności obciążenia. Te dane obejmują wartości liczbowe, które są nazywane metrykami. Metryki opisują stan systemu w określonym punkcie w czasie. Zawiera również dzienniki, które zawierają różne typy danych zorganizowanych w rekordy.

Zbierając dane wydajności, można monitorować i analizować wydajność obciążenia. Te informacje służą do identyfikowania wąskich gardeł wydajności, rozwiązywania problemów, optymalizacji alokacji zasobów oraz podejmowania decyzji opartych na danych w celu zwiększenia ogólnej wydajności obciążenia.

Bez szczegółowych informacji opartych na danych możesz nie wiedzieć o podstawowych problemach z wydajnością lub możliwościach optymalizacji. Potencjalne wyniki obejmują wolniejsze czasy odpowiedzi, zmniejszoną przepływność, zwiększone użycie zasobów i ostatecznie nieoptymalne środowisko użytkownika. Ponadto brak danych wydajności utrudnia diagnozowanie i rozwiązywanie problemów w odpowiednim czasie, co prowadzi do długotrwałego przestoju i zmniejszenia produktywności.

Definicje

Okres Definicja
Dzienniki aktywności Rejestruje dzienniki, które śledzą operacje zarządzania zasobami, takie jak usuwanie zasobu.
Dzienniki aplikacji Rejestruje informacje o zdarzeniach aplikacji, błędach i innych działaniach, takich jak błędy logowania i błędy połączenia z bazą danych.
Narzędzie do monitorowania wydajności aplikacji (APM) Narzędzie, które monitoruje i raportuje wydajność aplikacji.
Instrumentacja kodu Bezpośrednie lub pośrednie przechwytywanie metryk wydajności z perspektywy kodu aplikacji. Przechwycone metryki obejmują metryki przepływu, użycie zasobów i metryki specyficzne dla języka lub środowiska uruchomieniowego.
Rozproszone śledzenie Zbieranie i korelowanie metryk między rozproszonymi składnikami obciążenia.
Ujście metryk Miejsce docelowe magazynu metryk, które korelują dane szeregów czasowych do analizy.
Dzienniki platformy Dane diagnostyczne i inspekcji, które obejmują dzienniki zasobów, dzienniki aktywności i dzienniki inspekcji.
Metryki platformy Wartości liczbowe, które rejestrują wydajność obciążenia w określonym czasie.
Dzienniki zasobów Dane generowane przez system. Zawiera on informacje o stanie systemu.
Błędy Rx/Tx Liczba błędów odbierania i przesyłania błędów w interfejsie sieciowym.
Rejestrowanie strukturalne Definiowanie znaczącego formatu do rejestrowania komunikatów, zazwyczaj jako pary klucz-wartość.

Kluczowe strategie projektowania

Optymalizacja wydajności wymaga, aby dane mierzyły bieżącą wydajność obciążenia lub przepływu względem celów wydajności. Musisz zebrać odpowiednią ilość i różnorodność danych, aby zmierzyć wydajność kodu i infrastruktury względem celów wydajności. Upewnij się, że każdy składnik i przepływ w obciążeniu automatycznie generuje ciągłe i znaczące metryki i dzienniki. Musisz pobrać te dane z różnych poziomów, takich jak aplikacja, platforma, magazyn i system operacyjny. Kompleksowe zbieranie danych wydajności umożliwia całościowe zrozumienie wydajności, co umożliwia precyzyjne identyfikowanie nieefektywności i możliwości poprawy.

Scentralizowanie danych wydajności

Scentralizowanie metryk wydajności i dzienników to proces zbierania metryk wydajności i dzienników z różnych źródeł oraz przechowywania ich w centralnej lokalizacji. Tworzenie centralnego ujścia metryk i centralnego ujścia dziennika. Ta centralizacja umożliwia łatwy dostęp, analizę i monitorowanie metryk wydajności i dzienników w różnych systemach i składnikach. Scentralizowanie metryk i dzienników pozwala uzyskać wgląd w wydajność obciążenia. Wybierz odpowiednią platformę lub narzędzie, które może agregować i przechowywać metryki wydajności i dzienniki obciążenia.

Kompromis: omówienie kosztów zbierania metryk i dzienników. Ogólnie rzecz biorąc, im więcej metryk i dzienników zbierasz, tym wyższy koszt.

Dane wydajności segmentu

Segmentowanie danych wydajności obejmuje organizowanie i kategoryzowanie metryk i dzienników na podstawie ich źródła, celu lub środowiska. Na przykład należy oddzielić dane produkcyjne od danych nieprodukcyjnych lub odróżnić cele wydajności i metryki biznesowe. Segmentowanie danych ułatwia optymalizowanie określonych środowisk, ułatwia rozwiązywanie problemów i ogranicza niedokładności w monitorowaniu wydajności. Dzięki zachowaniu wyraźnego rozróżnienia między różnymi typami danych można przechwytywać, analizować i reagować na odpowiednie metryki wydajniej i lepiej dopasować kondycję obciążenia do celów obciążenia. Aby segmentować dane dotyczące wydajności, należy wziąć pod uwagę następujące zalecenia:

  • Zachowaj oddzielne dane produkcyjne i dane nieprodukcyjne. Oddzielając dane według środowiska, można zapewnić skoncentrowane monitorowanie i optymalizację każdego środowiska. W środowiskach produkcyjnych można lepiej identyfikować i rozwiązywać problemy z wydajnością, które mają bezpośredni wpływ na użytkowników i operacje biznesowe. W środowiskach nieprodukcyjnych separacja danych ułatwia skuteczne rozwiązywanie problemów i dostrajanie podczas fazy testowania przed wdrożeniem w środowisku produkcyjnym.

  • Użyj jednego zestawu danych w każdym środowisku. Nie używaj jednego zestawu danych dla celów wydajności i innego zestawu danych dla alertów związanych z celami wydajności. Korzystanie z różnych zestawów danych prowadzi do niedokładnych alertów, które podważają skuteczność monitorowania wydajności.

  • Oddzielne cele wydajności i metryki biznesowe. Zespoły ds. operacji i programowania używają celów wydajności do monitorowania kondycji obciążenia i spełniania celów biznesowych. Metryki biznesowe odnoszą się do celów biznesowych lub raportowania klientów. Przechwyć metryki biznesowe w osobnym strumieniu danych, nawet jeśli dane nakładają się bezpośrednio. Separacja zapewnia elastyczność przechwytywania odpowiednich danych i niezależnego analizowania danych.

Definiowanie zasad przechowywania

Zasady przechowywania określają, jak długo powinny być przechowywane dane wydajności. Ustanowienie tych zasad pomaga efektywnie zarządzać magazynem i zapewnia dostępność tylko niezbędnych danych do analizy. Takie zasady obsługują lepszą wydajność i spełniają standardy zgodności. Należy skonfigurować zasady przechowywania dla danych dziennika i metryk, aby umożliwić efektywne rozwiązywanie problemów i monitorowanie we wszystkich środowiskach. Na przykład dzienniki i metryki mogą być przechowywane przez dłuższy czas w środowisku produkcyjnym niż w środowisku testowym. Okres przechowywania powinien być zgodny z wymaganiami organizacji i przepisami dotyczącymi zgodności. Zdecyduj, jak długo zachować dane na potrzeby analizy i inspekcji. Zarchiwizuj dane, których nie potrzebujesz do natychmiastowej analizy.

Zbieranie danych dotyczących wydajności aplikacji

Zbieranie danych aplikacji obejmuje monitorowanie i analizowanie metryk wydajności aplikacji, takich jak przepływność, opóźnienie i czas ukończenia, głównie zbierane za pomocą kodu instrumentowania. Dane dotyczące wydajności aplikacji zapewniają cenny wgląd w kondycję i wydajność aplikacji. Monitorując i analizując dane wydajności, można identyfikować i rozwiązywać problemy, optymalizować wydajność aplikacji i podejmować świadome decyzje dotyczące aplikacji.

Kod instrumentu

Instrumentacja odnosi się do procesu osadzania fragmentów kodu lub integrowania narzędzi z kodem aplikacji. Celem instrumentacji jest przechwytywanie danych wydajności podczas działania aplikacji. Niezbędne jest zebranie metryk, które podkreślają krytyczne operacje aplikacji. Skup się na metrykach, takich jak przepływność, opóźnienie i czas ukończenia. Ważne jest rozróżnienie między operacjami i operacjami związanymi z działalnością biznesową, które nie są. W przypadku danych dotyczących operacji biznesowych upewnij się, że jego metadane są ustrukturyzowane w sposób umożliwiający odrębne śledzenie i przechowywanie. Głównym powodem instrumentacji kodu jest zbieranie danych dotyczących sposobu obsługi obciążenia przez aplikację. Zapewnia następujące korzyści:

  • Identyfikowanie wąskich gardeł wydajności: Śledząc metryki, takie jak użycie procesora CPU i użycie pamięci, można zidentyfikować wąskie gardła i odpowiednio zoptymalizować kod.

  • Ocenianie zachowania systemu pod obciążeniem: Możesz zobaczyć, jak aplikacja działa w różnych obciążeniach i scenariuszach przeciążeń. Te dane mogą pomóc w zidentyfikowaniu problemów związanych ze skalowalnością, współbieżnością i użyciem zasobów.

  • Śledzenie kondycji i dostępności aplikacji: Ponieważ kluczowe wskaźniki wydajności są monitorowane w czasie rzeczywistym, możesz otrzymywać alerty dotyczące potencjalnych problemów wpływających na wydajność i dostępność aplikacji.

  • Ulepszanie środowiska użytkownika: Możesz uzyskać wgląd w sposób interakcji użytkowników z aplikacją. Użyj tych informacji, aby zoptymalizować środowisko użytkownika i zidentyfikować obszary pod kątem poprawy.

  • Planowanie pojemności i przydzielanie zasobów: Dane wydajności zebrane przez instrumentację mogą zapewnić cenny wgląd w wymagania dotyczące zasobów aplikacji. Te informacje mogą informować o decyzjach dotyczących planowania pojemności i przydzielania zasobów.

Podczas instrumentowania kodu monitorowania wydajności należy wziąć pod uwagę następujące strategie:

  • Narzędzia APM: narzędzia APM mogą zbierać i analizować dane wydajności, w tym metryki, ślady i dzienniki. Narzędzia APM oferują funkcje, takie jak instrumentacja na poziomie kodu, śledzenie transakcji i profilowanie wydajności.

  • Korzystanie z platform rejestrowania i śledzenia: struktury rejestrowania i śledzenia to narzędzia lub biblioteki, które deweloperzy integrują ze swoimi aplikacjami, aby ułatwić rejestrowanie i śledzenie. Te struktury zapewniają funkcje do generowania dzienników, żądań śledzenia, a czasami nawet formatowania lub transportu wygenerowanych danych. Dzięki włączeniu struktur rejestrowania i śledzenia do bazy kodu deweloperzy mogą przechwytywać odpowiednie dane podczas wykonywania. Dane mogą zawierać informacje o ścieżce uruchamiania, we/wy i wydajności.

  • Instrumentacja niestandardowa: deweloperzy mogą dodawać niestandardowy kod, aby zbierać metryki wydajności, które są unikatowe dla aplikacji i obciążenia. Instrumentacja niestandardowa może mierzyć środowiska uruchomieniowe, śledzić użycie zasobów lub przechwytywać określone zdarzenia. Pisanie instrumentacji kodu niestandardowego tylko wtedy, gdy metryki platformy są niewystarczające. W niektórych sytuacjach zasób platformy może mierzyć zagregowane lub nawet szczegółowe perspektywy aplikacji. Należy rozważyć, czy zduplikować ten wysiłek, używając niestandardowego kodu przed nadmiarowymi kompromisami kodu lub zależnością od funkcji platformy.

  • Przechwyć czasy transakcji. Przechwytywanie czasów transakcji odnosi się do pomiaru czasów zakończenia kluczowych funkcji technicznych w ramach monitorowania wydajności. Metryki na poziomie aplikacji powinny zawierać kompleksowe czasy transakcji. Te czasy transakcji powinny obejmować kluczowe funkcje techniczne, takie jak zapytania bazy danych, czasy odpowiedzi dla zewnętrznych wywołań interfejsu API i współczynniki niepowodzeń kroków przetwarzania.

  • Użyj standardów telemetrii. Rozważ użycie bibliotek instrumentacji narzędzi APM i narzędzi utworzonych wokół standardu telemetrii, takiego jak OpenTelemetry.

Włączanie śledzenia rozproszonego

Śledzenie rozproszone jest techniką służącą do śledzenia i monitorowania żądań podczas przepływu przez system rozproszony. Umożliwia śledzenie ścieżki żądania w miarę przechodzenia między wieloma usługami i składnikami, zapewniając cenny wgląd w wydajność i wydajność obciążenia. Śledzenie rozproszone jest ważne dla wydajności, ponieważ pomaga identyfikować wąskie gardła, problemy z opóźnieniami i obszary optymalizacji w systemie rozproszonym. Możesz wskazać, gdzie występują opóźnienia lub nieefektywność, i podjąć odpowiednie działania w celu poprawy wydajności, wizualizując przepływ żądania. Wykonaj następujące kroki, aby włączyć śledzenie rozproszone:

  1. Zacznij od instrumentowania aplikacji i usług w celu wygenerowania danych śledzenia. Użyj bibliotek lub struktur, które obsługują śledzenie rozproszone, takie jak OpenTelemetry.

  2. Upewnij się, że informacje śledzenia są propagowane przez granice usługi. Zazwyczaj należy przekazać unikatowy identyfikator śledzenia i inne informacje kontekstowe z każdym żądaniem.

  3. Skonfiguruj scentralizowany system zbierania śladów. Ten system zbiera i przechowuje dane śledzenia generowane przez aplikacje i usługi.

  4. Użyj zebranych danych śledzenia, aby zwizualizować pełny przepływ żądań i analizować charakterystykę wydajności systemu rozproszonego.

Zbieranie dzienników aplikacji

Podczas instrumentowania kodu jeden z podstawowych danych wyjściowych powinien być dziennikami aplikacji. Rejestrowanie pomaga zrozumieć, jak aplikacja działa w różnych środowiskach. Dzienniki aplikacji rejestrują warunki, które generują zdarzenia aplikacji. Zbieranie dzienników aplikacji we wszystkich środowiskach aplikacji. Odpowiednie wpisy dziennika w aplikacji powinny przechwytywać identyfikator korelacji dla odpowiednich transakcji. Identyfikator korelacji powinien korelować zdarzenia dziennika aplikacji w krytycznych przepływach aplikacji, takich jak logowanie użytkownika. Ta korelacja służy do oceny kondycji kluczowych scenariuszy w kontekście celów i wymagań niefunkcyjnych.

Należy użyć rejestrowania strukturalnego. Rejestrowanie strukturalne przyspiesza analizowanie dzienników i analizę. Ułatwia indeksowanie, wykonywanie zapytań i raportów dzienników bez złożoności. Dodaj bibliotekę rejestrowania ze strukturą i użyj jej w kodzie aplikacji. Czasami wpisy dziennika mogą pomóc skorelować dane, których nie można skorelować za pomocą innych metod.

Zbieranie danych dotyczących wydajności zasobów

Zbierając dane dotyczące wydajności zasobów, możesz uzyskać wgląd w kondycję i zachowanie obciążenia. Dane dotyczące wydajności zasobów zawierają informacje o użyciu zasobów, które są kluczem do planowania pojemności. Te dane zapewniają również wgląd w kondycję obciążenia i mogą pomóc w wykrywaniu problemów i rozwiązywaniu problemów. Rozważ następujące rekomendacje:

  • Zbieranie metryk i dzienników dla każdego zasobu. Każda usługa platformy Azure ma zestaw metryk unikatowych dla funkcji zasobu. Te metryki ułatwiają zrozumienie kondycji i wydajności zasobu. Dodaj ustawienie diagnostyczne dla każdego zasobu, aby wysyłać metryki do lokalizacji, do której zespół obciążeń może uzyskiwać dostęp podczas tworzenia alertów i pulpitów nawigacyjnych. Dane metryk są dostępne na potrzeby dostępu krótkoterminowego. W przypadku długoterminowego dostępu lub dostępu z systemu spoza usługi Azure Monitor wyślij dane metryk do ujednoliconego ujścia do lokalizacji dostępu.

  • Korzystanie z narzędzi platformy. Zbierz inspirację na podstawie wbudowanych i zintegrowanych rozwiązań do monitorowania, takich jak Azure Monitor Insights. To narzędzie usprawnia operacje wydajności. Rozważ użycie narzędzi platformy podczas wybierania platformy i inwestowania w niestandardowe narzędzia lub raportowanie.

  • Monitorowanie ruchu sieciowego. Monitorowanie ruchu sieciowego oznacza śledzenie i analizowanie przepływu i wzorców danych podczas poruszania się po ścieżkach sieciowych. Zbierz analizę ruchu i monitoruj ruch przechodzący przez granice podsieci. Twoim celem jest analizowanie i optymalizowanie wydajności sieci.

Zbieranie danych bazy danych i magazynowania

Wiele systemów baz danych i magazynowania udostępnia własne narzędzia do monitorowania. Te narzędzia zbierają dane wydajności specyficzne dla tych systemów. Systemy baz danych i magazynowania często generują dzienniki zawierające zdarzenia i wskaźniki związane z wydajnością. Zbierz dane bazy danych i dane wydajności magazynu, aby zidentyfikować wąskie gardła, zdiagnozować problemy i podejmować świadome decyzje w celu poprawy ogólnej wydajności i niezawodności obciążenia. Rozważ zebranie następujących typów danych wydajności:

  • Przepływność: Przepływność mierzy ilość danych odczytywanych z systemu magazynu lub zapisywanych w danym okresie. Dane przepływności wskazują możliwości transferu danych.

  • Opóźnienie: opóźnienie mierzy czas ostatniej operacji magazynowania. Dane opóźnienia wskazują czas reakcji systemu magazynu.

  • Operacje we/wy na sekundę: dane dotyczące liczby operacji odczytu lub operacji zapisu, które system magazynu może wykonać w ciągu sekundy. Dane operacji we/wy na sekundę wskazują przepływność i czas odpowiedzi systemu magazynowania.

  • Użycie pojemności: użycie pojemności to ilość używanej pojemności magazynu i ilość dostępna. Dane użycia pojemności ułatwiają organizacjom planowanie przyszłych potrzeb magazynu.

W przypadku baz danych należy również zbierać metryki specyficzne dla bazy danych:

  • Wydajność zapytań: dane dotyczące czasu wykonywania, użycia zasobów i wydajności zapytań bazy danych. Powolne lub nieefektywne zapytania bazy danych mogą znacznie spowolnić obciążenie. Poszukaj zapytań, które są powolne i które są często uruchamiane.

  • Wydajność transakcji: dane dotyczące wydajności transakcji bazy danych, takich jak czas trwania transakcji, współbieżność i rywalizacja o blokadę.

  • Wydajność indeksu: dane dotyczące wydajności indeksów baz danych, takich jak fragmentacja indeksu, statystyki użycia i optymalizacja zapytań.

  • Użycie zasobów: dane, które obejmują procesor, pamięć, miejsce na dysku, operacje we/wy i przepustowość sieci.

  • Metryki połączenia: Metryki śledzące liczbę aktywnych, przerwanych i zakończonych niepowodzeniem połączeń. Wysokie wskaźniki błędów mogą wskazywać na problemy z siecią lub wskazywać, że baza danych osiągnęła maksymalną liczbę połączeń.

  • Stawki transakcji: liczba transakcji uruchamianych przez bazę danych na sekundę. Zmiana stawek transakcji może wskazywać na problemy z wydajnością.

  • Współczynnik błędów: dane wskazujące wydajność bazy danych. Wysokie współczynniki błędów mogą wskazywać na problem z wydajnością. Zbieranie i analizowanie błędów bazy danych.

Zbieranie danych systemu operacyjnego (jeśli dotyczy)

Rozwiązanie platformy jako usługi (PaaS) eliminuje konieczność zbierania danych dotyczących wydajności systemu operacyjnego. Jeśli jednak obciążenie działa na maszynach wirtualnych (infrastruktura jako usługa), musisz zebrać dane wydajności dotyczące systemu operacyjnego. Musisz zrozumieć zapotrzebowanie na system operacyjny i maszynę wirtualną. Często przykładowe liczniki wydajności systemu operacyjnego. Na przykład można próbkować liczniki wydajności co minutę.

Zbierz co najmniej dane dotyczące następujących obszarów wydajności.

Obszar wydajności Proces lub funkcja
Procesor CPU - Użycie procesora CPU (tryb użytkownika lub tryb uprzywilejowany)
- Długość kolejki procesora CPU (liczba procesów oczekujących na czas procesora CPU)
Proces - Liczba wątków przetwarzania
- Liczba dojść procesów
Memory (Pamięć) - Zatwierdzona pamięć
- Dostępna pamięć
- Strony na sekundę
— Zamień użycie miejsca
Dysk - Odczyt dysku
- Zapisy dysku
— Przepływność dysku
— Użycie miejsca na dysku
Sieć - Przepływność interfejsu sieciowego
- Błędy interfejsu sieciowego Rx/Tx

Weryfikowanie i analizowanie danych

Dane wydajności powinny być zgodne z celami wydajności. Dane muszą reprezentować wydajność obciążenia lub przepływu całkowicie i dokładnie, ponieważ odnoszą się one do celów wydajności. Na przykład czas odpowiedzi dla usługi internetowej ma wartość docelową wydajności 500 ms. Rutynowe analizowanie danych, ponieważ częste oceny umożliwiają wczesne wykrywanie i ograniczanie problemów z wydajnością.

  • Tworzyć alerty Korzystne jest posiadanie alertów, które można wykonać, umożliwiając identyfikację monitów i recyfikację problemów z wydajnością. Te alerty powinny wyraźnie wskazywać naruszony próg wydajności, potencjalny efekt biznesowy i powiązane składniki. Zacznij od ustawienia typowego i zalecanego alertu. W miarę upływu czasu można modyfikować te kryteria w zależności od konkretnych potrzeb. Głównym celem tych alertów powinno być prognozowanie potencjalnych spadków wydajności przed ich eskalacją do poważnych problemów. Jeśli nie możesz ustawić alertu dla zależności zewnętrznej, rozważ opracowanie metody zbierania pomiarów pośrednich, takich jak czas trwania wywołania zależności.

  • Ustawianie limitów zbierania danych. Określanie i ustawianie limitów logicznych ilości zbieranych danych i ich czasu przechowywania. Dane telemetryczne mogą czasami generować przytłaczające ilości danych. Ważne jest, aby skoncentrować się na przechwytywaniu tylko najważniejszych wskaźników wydajności lub efektywnego systemu w celu wyodrębnienia znaczących szczegółowych informacji z danych wydajności.

Ułatwienia dla platformy Azure

Scentralizowanie, segmentowanie i zachowywanie danych wydajności: usługa Azure Monitor zbiera i agreguje dane z każdej warstwy i składnika obciążenia w wielu subskrypcjach i dzierżawach platformy Azure i innych niż platformy Azure. Przechowuje dane na wspólnej platformie danych do użycia przez wspólny zestaw narzędzi, które mogą korelować, analizować, wizualizować i/lub reagować na dane.

Aby włączyć dzienniki usługi Azure Monitor, potrzebujesz co najmniej jednego obszaru roboczego usługi Log Analytics . Możesz użyć jednego obszaru roboczego dla całej kolekcji danych. Można również utworzyć wiele obszarów roboczych na podstawie wymagań dotyczących segmentowania danych wydajności. Umożliwia również definiowanie zasad przechowywania.

Zbieranie danych wydajności aplikacji: usługa Application Insights to funkcja usługi Azure Monitor, która ułatwia monitorowanie wydajności i dostępności aplikacji. Udostępnia szczegółowe informacje na poziomie aplikacji, zbierając dane telemetryczne, takie jak współczynniki żądań, czasy odpowiedzi i szczegóły wyjątków. Możesz włączyć usługę Application Insights dla aplikacji i skonfigurować ją w celu zbierania niezbędnych danych dotyczących wydajności. Usługa Application Insights obsługuje również śledzenie rozproszone. Skonfiguruj śledzenie rozproszone dla wszystkich przepływów. Aby utworzyć kompleksowe przepływy transakcji, skoreluj zdarzenia pochodzące z różnych składników aplikacji lub warstw.

Liczniki wydajności to zaawansowany sposób monitorowania wydajności aplikacji. Platforma Azure udostępnia różne liczniki wydajności, których można użyć do zbierania danych dotyczących użycia procesora CPU, użycia pamięci, operacji we/wy dysku, ruchu sieciowego i nie tylko. Jeśli skonfigurujesz aplikację do emitowania danych licznika wydajności, usługa Azure Monitor zbiera i przechowuje dane do analizy.

Zbieranie danych dotyczących wydajności zasobów: większość usług platformy Azure generuje dzienniki platformy i metryki, które zapewniają informacje diagnostyczne i inspekcji. Włączając ustawienia diagnostyczne, można określić dzienniki i metryki platformy do zbierania i przechowywania. Dla celów korelacji włącz diagnostykę dla wszystkich obsługiwanych usług, a następnie wyślij dzienniki do tego samego miejsca docelowego co dzienniki aplikacji.

Zbieranie danych dotyczących wydajności bazy danych i magazynu: usługa Azure Monitor umożliwia zbieranie danych wydajności dla baz danych na platformie Azure. Możesz włączyć monitorowanie dla usługi Azure SQL Database, Azure Database for MySQL, Azure Database for PostgreSQL i innych usług bazy danych. Usługa Azure Monitor udostępnia metryki i dzienniki monitorowania wydajności bazy danych, w tym użycie procesora CPU, użycie pamięci i wydajność zapytań. Aby otrzymywać powiadomienia o problemach, możesz skonfigurować alerty na podstawie progów wydajności.

Platforma Azure oferuje zalecenia dotyczące wydajności baz danych, takie jak SQL Server w usłudze Azure Virtual Machines. Te zalecenia pomagają zoptymalizować wydajność obciążeń bazy danych. Zawierają one sugestie dotyczące zbierania liczników wydajności, przechwytywania statystyk oczekiwania i zbierania danych wydajności w godzinach szczytu.

Usługa Azure analityka magazynu umożliwia zbieranie danych wydajności dla usług Azure Storage, takich jak Blob Storage, Table Storage i Queue Storage. Możesz włączyć rejestrowanie i metryki dla kont magazynu, aby monitorować kluczowe wskaźniki wydajności, takie jak liczba operacji odczytu/zapisu, przepływność i opóźnienie.

Zbieranie danych dotyczących wydajności systemu operacyjnego: Rozszerzenie Diagnostyka Azure umożliwia zbieranie szczegółowych danych dotyczących wydajności z maszyn wirtualnych, w tym procesora CPU, pamięci, operacji we/wy dysku i ruchu sieciowego. Te dane można wysyłać do usługi Azure Monitor lub innych usług magazynu na potrzeby analizy i zgłaszania alertów.

Weryfikowanie i analizowanie danych wydajności: w usłudze Azure Monitor można używać dzienników usługi Azure Monitor do zbierania, analizowania i wizualizowania danych dzienników z aplikacji i systemów. Dzienniki usługi Azure Monitor można skonfigurować do pozyskiwania dzienników z aplikacji, w tym dzienników na poziomie aplikacji i dzienników infrastruktury. Agregując dzienniki, można wykonywać zapytania obejmujące wiele zdarzeń i uzyskiwać wgląd w wydajność aplikacji. Aby uzyskać więcej informacji, zobacz Obliczenia i opcje kosztów dzienników usługi Azure Monitor oraz Cennik dla usługi Azure Monitor.

W usłudze Azure Monitor można zdefiniować reguły alertów, aby monitorować określone metryki wydajności i wyzwalać alerty na podstawie wstępnie zdefiniowanych warunków. Możesz na przykład utworzyć regułę alertu, która będzie powiadamiać użytkownika, gdy użycie procesora CPU przekroczy określony próg lub gdy czas odpowiedzi przekroczy określony limit. Skonfiguruj regułę alertu, aby wysyłać powiadomienia do żądanych adresatów.

Podczas tworzenia reguły alertu można zdefiniować kryteria określające, kiedy ma zostać wyzwolony alert. Można ustawić progi, metody agregacji, okna czasowe i częstotliwość oceny. Zdefiniuj kryteria na podstawie wymagań dotyczących monitorowania wydajności. Oprócz wysyłania powiadomień można określić akcje do wykonania po wyzwoleniu alertu. Akcje mogą obejmować wysyłanie wiadomości e-mail, wywoływanie elementów webhook lub uruchamianie funkcji platformy Azure. Wybierz odpowiednie akcje, aby reagować na określony scenariusz alertu.

Przykłady

Lista kontrolna dotycząca wydajności

Zapoznaj się z pełnym zestawem zaleceń.