Zalecenia dotyczące zbierania danych wydajności
Dotyczy tego zalecenia listy kontrolnej dotyczącej wydajności platformy Azure Well-Architected Framework:
PE:04 | Zbieranie danych wydajności. Składniki i przepływy obciążeń 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 zawierające różne typy danych zorganizowane w rekordy.
Zbierając dane wydajności, można monitorować i analizować wydajność obciążenia. Te informacje umożliwiają identyfikowanie wąskich gardeł wydajności, rozwiązywanie problemów, optymalizowanie alokacji zasobów oraz podejmowanie decyzji opartych na danych w celu poprawy 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 wydajności.
Definicje
Okres | Definicja |
---|---|
Dzienniki aktywności | Dzienniki śledzące operacje zarządzania zasobami, takie jak usuwanie zasobu. |
Dzienniki aplikacji | Rejestruje dzienniki, które śledzą informacje o zdarzeniach aplikacji, błędach i innych działaniach, takich jak błędy logowania i 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. |
Śledzenie rozproszone | 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 na potrzeby analizy. |
Dzienniki platformy | Dane diagnostyczne i dane 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 zrozumiałego formatu do rejestrowania komunikatów, zwykle 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 ramach obciążenia 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 pozwala na całościowe zrozumienie wydajności, co umożliwia dokładną identyfikację nieefektywności i możliwości poprawy.
Scentralizowanie zbierania 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 oraz 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 obciążeń oraz dzienniki.
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. Zachowując jasne rozróżnienie 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 podzielić dane dotyczące wydajności, należy wziąć pod uwagę następujące zalecenia:
Dane produkcyjne i dane nieprodukcyjne są oddzielone. 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 efektywne rozwiązywanie problemów i dostrajanie w fazie 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. Użycie 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 mają być przechowywane dane na potrzeby analizy i inspekcji. Zarchiwizuj dane, których nie potrzebujesz do natychmiastowej analizy.
Zbieranie danych wydajności aplikacji
Zbieranie danych aplikacji obejmuje monitorowanie i analizowanie metryk wydajności aplikacji, takich jak przepływność, opóźnienia i czasy ukończenia, głównie zbierane za pomocą instrumentacji kodu. Dane 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, zoptymalizować 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. Instrumentacja służy do przechwytywania danych wydajności podczas działania aplikacji. Ważne jest zebranie metryk, które podkreślają krytyczne operacje aplikacji. Skoncentruj 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 odnoszących się do operacji biznesowych upewnij się, że jego metadane są ustrukturyzowane w sposób umożliwiający odrębne śledzenie i przechowywanie. Główną przyczyną instrumentacji kodu jest zbieranie danych dotyczących sposobu obsługi obciążenia przez aplikację. Oferuje 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 obciążenia. 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, które instrumentacja zbiera, 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 na potrzeby 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.
Używanie struktur rejestrowania i śledzenia: struktury rejestrowania i śledzenia to narzędzia lub biblioteki, które deweloperzy integrują ze swoimi aplikacjami w celu ułatwienia rejestrowania i śledzenia. 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 w czasie wykonywania. Dane mogą zawierać informacje o ścieżce uruchamiania, we/wy i wydajności.
Instrumentacja niestandardowa: deweloperzy mogą dodawać niestandardowy kod w celu zbierania metryk wydajności unikatowych 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 kodu niestandardowego względem nadmiarowych kompromisów kodu lub zależności od funkcji platformy.
Przechwyć czasy transakcji. Przechwytywanie czasów transakcji odnosi się do mierzenia czasów zakończenia kluczowych funkcji technicznych w ramach monitorowania wydajności. Metryki na poziomie aplikacji powinny obejmować 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 to technika służąca do śledzenia i monitorowania żądań w miarę ich przepływu przez system rozproszony. Umożliwia śledzenie ścieżki żądania podczas podróży 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 zwiększenia wydajności, wizualizując przepływ żądania. Wykonaj następujące kroki, aby włączyć śledzenie rozproszone:
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.
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.
Skonfiguruj scentralizowany system zbierania danych śledzenia. Ten system zbiera i przechowuje dane śledzenia generowane przez aplikacje i usługi.
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 jednym z podstawowych danych wyjściowych powinny być dzienniki 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ń niefunkcjonalnych.
Należy użyć rejestrowania strukturalnego. Rejestrowanie strukturalne przyspiesza analizowanie dzienników i analizę. Ułatwia indeksowanie, wykonywanie zapytań i raportowanie dzienników bez złożoności. Dodaj bibliotekę rejestrowania strukturalnego i użyj jej w kodzie aplikacji. Czasami wpisy dziennika mogą pomóc w skorelowaniu danych, których nie można skorelować w inny sposób.
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żmy następujące zalecenia:
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ążenia 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ę z 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 w miarę przemieszczania 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 identyfikować wąskie gardła, diagnozować 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 systemie magazynu 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 odpowiedzi systemu magazynu.
Liczba operacji 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 liczby operacji we/wy na sekundę wskazują przepływność i czas odpowiedzi systemu magazynu.
Użycie pojemności: Użycie pojemności jest ilością używanej pojemności magazynu i ilością dostępną. 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 bazy danych, takich jak fragmentacja indeksów, statystyki użycia i optymalizacja zapytań.
Użycie zasobów: dane, które obejmują procesor CPU, 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 współczynniki błędów mogą wskazywać na problemy z siecią lub wskazywać, że baza danych osiągnęła maksymalną liczbę połączeń.
Współczynniki 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
Rozwiązanie platformy jako usługi (PaaS) eliminuje konieczność zbierania danych 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. Można na przykład 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) |
Przetwarzaj | - Liczba wątków procesów - Liczba dojść procesów |
Pamięć | - Zatwierdzona pamięć - Dostępna pamięć - Strony na sekundę — Zamienianie użycia miejsca |
Dysk | - Odczyt dysku - Zapisy dysku — Przepływność dysku — Użycie miejsca na dysku |
Sieć | - Przepływność interfejsu sieciowego - Błędy Rx/Tx interfejsu sieciowego |
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. Wykonaj procedurę analizowania danych, ponieważ częste oceny umożliwiają wczesne wykrywanie i ograniczanie problemów z wydajnością.
Tworzenie alertów 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ć próg naruszenia wydajności, potencjalny efekt biznesowy i zaangażowane składniki. Zacznij od ustawienia typowego i zalecanego alertu. W miarę upływu czasu można modyfikować te kryteria na podstawie określonych potrzeb. Głównym celem tych alertów powinno być prognozowanie potencjalnych spadków wydajności przed eskalacją do znaczących 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 skupić się na przechwytywaniu tylko najważniejszych wskaźników wydajności lub utworzeniu wydajnego systemu w celu wyodrębnienia znaczących szczegółowych informacji z danych wydajności.
Ułatwienia 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 ona 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ż zdefiniowanie 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 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ę w celu emitowania danych licznika wydajności, usługa Azure Monitor zbiera i przechowuje dane do analizy.
Zbieranie danych wydajności zasobów: większość usług platformy Azure generuje dzienniki i metryki platformy, które zapewniają informacje diagnostyczne i inspekcji. Włączając ustawienia diagnostyczne, można określić dzienniki i metryki platformy do zbierania i przechowywania. W celach korelacji włącz diagnostykę wszystkich obsługiwanych usług, a następnie wyślij dzienniki do tego samego miejsca docelowego co dzienniki aplikacji.
Zbieranie danych wydajności bazy danych i magazynu: usługa Azure Monitor umożliwia zbieranie danych wydajności baz danych na platformie Azure. Monitorowanie usług Azure SQL Database, Azure Database for MySQL, Azure Database for PostgreSQL i innych usług bazy danych można włączyć. 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, takich jak program SQL Server na maszynach wirtualnych platformy Azure. Te zalecenia ułatwiają optymalizowanie wydajności obciążeń bazy danych. Zawierają 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 wydajności systemu operacyjnego: rozszerzenie Diagnostyka Azure umożliwia zbieranie szczegółowych danych 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 krzyżowe i uzyskiwać wgląd w wydajność aplikacji. Aby uzyskać więcej informacji, zobacz Azure Monitor Logs cost calculations and options and Pricing for Azure Monitor (Obliczenia kosztów i opcje usługi Azure Monitor) oraz Pricing for Azure Monitor (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, aby powiadomić o przekroczeniu określonego progu użycia procesora CPU lub przekroczeniu określonego limitu czasu odpowiedzi. Skonfiguruj regułę alertu, aby wysyłać powiadomienia do żądanych adresatów.
Podczas tworzenia reguły alertu można zdefiniować kryteria określające, kiedy powinien 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
- Podstawowa aplikacja internetowa usług app services o wysokiej dostępności strefowo nadmiarowej
- Monitorowanie aplikacji mikrousług w usłudze Azure Kubernetes Service (AKS)
- Monitorowanie przedsiębiorstwa za pomocą usługi Azure Monitor
Pokrewne łącza
Lista kontrolna wydajności wydajności
Zapoznaj się z pełnym zestawem zaleceń.