Udostępnij za pośrednictwem


Zalecenia dotyczące zbierania danych wydajności

Dotyczy tego Power Platform zalecenia dotyczącego listy kontrolnej Well-Architected Performance Efficiency:

PE:04 Zbieranie danych dotyczących wydajności. Składniki i przepływy obciążenia powinny dostarczyć automatycznych, ciągłych i znaczących metryk oraz dzienników. Zbieraj dane na różnych poziomach obciążenia, takich jak aplikacja, platforma, dane i poziomy systemu operacyjnego.

Zbieranie danych dotyczących wydajności jest procesem zbierania metryk i dzienników, które dostarczają informacji o wydajności obciążenia. Te dane zawierają wartości numeryczne, znane jako metryki. Metryki opisują stan systemu w danym momencie. Dane dotyczące wydajności zawierają także dzienniki zawierające różne typy danych uporządkowanych w rekordach.

Dzięki zbieraniu danych dotyczących wydajności można monitorować i analizować wydajność obciążenia. Tych informacji można użyć do identyfikowania wąskich gardeł wydajności, rozwiązywania problemów i podejmowania decyzji dotyczących przetwarzania danych w celu poprawienia ogólnej wydajności prac.

Bez szczegółowych informacji opartych na danych możesz nie mieć wiedzy na temat podstawowych problemów z wydajnością i szans optymalizacji. Potencjalne wyniki obejmują dłuższy czas odpowiedzi, obniżenie wydajności i ostatecznie, nieoptymalne środowisko użytkownika. Ponadto brak danych dotyczących wydajności sprawia, że trudno jest terminowo zdiagnozować i rozwiązywać problemy, co powoduje przestoje i obniżenie wydajności.

Definicje

Termin Definicja
Dzienniki działań Dzienniki służące do śledzenia operacji zarządzania zasobami, takich jak usuwanie zasobu.
Dzienniki aplikacji Dzienniki służące do śledzenia informacji o zdarzeniach aplikacji, błędach i innych działaniach, takich jak logowania i niepowodzenia połączenia z bazami danych.
Narzędzie do monitorowania wydajności aplikacji (APM) Narzędzie to monitoruje i raportuje wydajność aplikacji.
Instrumentacja kodu Bezpośrednie przechwytywanie metryk wydajności z punktu widzenia kodu aplikacji lub środowiska. Przechwytywane metryki to metryki przepływu, użycie zasobów oraz metryki specyficzne dla języka lub środowiska uruchomieniowego.
Śledzenie rozproszone Zbieranie i korelowanie metryk w obrębie składników obciążenia rozproszonego.
Ujście metryk Miejsce docelowe magazynu dla metryk, które korelują dane z serii czasowej na analizy.
Dzienniki platformy Dane diagnostyczne i inspekcji, które obejmują dzienniki zasobów, dzienniki działań i dzienniki inspekcji.
Metryki platformy Wartości numeryczne rejestrujące wydajność w danym czasie.
Dzienniki zasobów Dane generowane przez system. Zawiera informacje o stanie systemu.
Rejestrowanie ustrukturyzowane Zdefiniowanie znaczącego formatu komunikatów dziennika, zazwyczaj jako par klucz-wartość.

Kluczowe strategie projektowania

Optymalizacja wydajności wymaga danych w celu oceny bieżącej wydajności obciążenia lub przepływu w stosunku do jego wartości docelowych wydajności. Należy zebrać odpowiednią ilość i liczbę danych w celu zmierzenia wydajności kodu i infrastruktury w stosunku do wartości docelowych wydajności. Upewnij się, że każdy składnik i przepływ w ramach obciążenia automatycznie generują stałe i znaczące metryki i dzienniki. Należy pobierać te dane z poziomów eksploatacji, takich jak aplikacja, platforma, magazyn i system operacyjny. Kompleksowe zbieranie danych dotyczących wydajności pozwala na całościowe zrozumienie wydajności, umożliwiając dokładną identyfikację nieefektywnego działania i narzędzi do usprawnienia.

Centralizowanie danych wydajności

Centralizowanie metryk wydajności i dzienników jest procesem zbierania metryk wydajności i dzienników z różnych źródeł oraz zapisywania ich w centralnej lokalizacji. Utwórz centralne ujście metryk i centralne ujście dzienników. Centralizowanie pozwala na łatwy dostęp do metryk i dzienników wydajności, analizę i monitorowanie metryk i dzienników w różnych systemach i składnikach. Dzięki centralizowaniu metryk i dzienników można uzyskać wgląd w wydajność pracy. Wybierz odpowiednią platformę lub narzędzie, które może agregować i przechowywać metryki wydajności i dzienniki dotyczące obciążenia.

Kompromis: opis kosztu zbierania metryk i dzienników. Ogólnie rzecz biorąc, im więcej zebranych metryk i dzienników, tym koszt jest większy.

Dane wydajności segmentu

Segmentowanie danych wydajności obejmuje organizowanie i kategoryzowanie metryk i dzienników w zależności od ich pochodzenia, celu lub środowiska. Na przykład należy oddzielić dane produkcyjne od danych nieprodukcyjnych lub rozróżniać wartości docelowe wydajności i metryki biznesowe. Segmentowanie danych pomaga w optymalizacji określonych środowisk, ułatwia rozwiązywanie problemów i ogranicza niedokładności w monitorowaniu wydajności. Dzięki utrzymywaniu jasnego rozróżnienia między różnymi typami danych można efektywniej przechwytywać odpowiednie metryki i analizować je oraz odpowiadać na nie, a także lepiej dopasować stan prac do celów obciążenia. Aby segmentować dane wydajności, należy rozważyć następujące zalecenia:

  • Oddziel dane produkcyjne od danych nieprodukcyjnych. Dzieląc dane według środowiska, można zapewnić ukierunkowane monitorowanie i optymalizację każdego środowiska. W środowiskach produkcyjnych można lepiej zidentyfikować problemy związane z wydajnością i rozwiązać je, jeśli mają bezpośredni wpływ na użytkowników i operacje biznesowe. W środowiskach nieprodukcyjnych wydzielenie danych ułatwia efektywne rozwiązywanie problemów i dostosowywanie na etapie testowania przed wdrożeniem w środowisku produkcyjnym.

  • Używaj jednego zestawu danych w każdym środowisku. Nie należy używać jednego zestawu danych dla celów wydajności, a innego zestawu danych dla alertów związanych z wartościami docelowymi wydajności. Używanie różnych zestawów danych powoduje nieprawidłowe alerty, które wpływają na skuteczność monitorowania wydajności.

  • Oddziel cele wydajności i wskaźniki biznesowe. Operacje i zespoły projektowe używają wartości docelowych wydajności do monitorowania kondycji obciążenia i realizacji celów biznesowych. Metryki biznesowe są związane z celami biznesowymi lub raportowaniem klientów. Przechwytywanie metryk biznesowych w oddzielnym strumieniu danych, nawet jeśli dane nakładają się bezpośrednio na siebie. Takie wydzielenie zapewnia elastyczność przechwytywania odpowiednich danych i niezależnego analizowania danych.

Definiowanie zasad przechowywania

Zasady przechowywania określają czas przechowywania danych dotyczących wydajności. Ustalenie tych zasad pomaga efektywnie zarządzać magazynem i zapewnić dostęp do analiz wyłącznie niezbędnych danych. Takie zasady obsługują większą wydajność i spełniają standardy zgodności. W celu włączenia skutecznego rozwiązywania problemów i monitorowania we wszystkich środowiskach należy skonfigurować zasady przechowywania danych dzienników i metryk. Na przykład można przechowywać dłużej dzienniki i metryki w środowisku produkcyjnym niż w środowisku testowym. Okres przechowywania powinien być zgodny z wymaganiami organizacji i rozporządzeniami dotyczącymi zgodności z wymaganiami. Określ, jak długo mają być zachowywane dane do celów analitycznych i kontrolnych. Zarchiwizowane dane, które nie są potrzebne do natychmiastowej analizy.

Zbieranie danych dotyczących wydajności

Zbieranie danych obejmuje monitorowanie i analizowanie metryk wydajności obciążenia, takich jak wydajność, kontrola wydajności i czas zakończenia, zebranego głównie w ramach instrumentacji kodu. Dane dotyczące wydajności w zakresie obciążenia dostarczają cennych informacji na temat stanu i wydajności aplikacji. Monitorując i analizując danych wydajności, można identyfikować i rozwiązywać problemy, optymalizować wydajność i podejmować dobrze poinformowane decyzje dotyczące obciążenia.

Instrumentacja kodu

Instrumentacja odnosi się do procesu osadzenia kodu i tworzenia akcji w kodzie obciążenia; na przykład możesz utworzyć niestandardowe zdarzenia śledzenia w aplikacji kanwy. Celem instrumentacji jest przechwytywanie danych dotyczących wydajności w czasie wykonywania obciążenia. Niezbędne jest zebranie metryk wyróżniania najważniejszych operacji obciążenia. Skoncentruj się na metrykach, takich jak przepustowość, opóźnienie i czas wykonania. Istotne jest, aby odróżnić operacje związane z działalnością od innych operacji. W przypadku danych związanych z operacjami biznesowymi upewnij się, że metadane tego obiektu mają strukturę umożliwiającą różne śledzenie i przechowywanie danych. Instrumentacja kodu zapewnia następujące korzyści:

  • Identyfikowanie wąskich gardeł wydajności: Śledząc wskaźniki, takie jak czas, który upłynął, możesz zidentyfikować wąskie gardła i odpowiednio zoptymalizować kod.

  • Ocena zachowania systemu pod obciążeniem:Możesz zobaczyć, jak obciążenie radzi sobie w różnych scenariuszach obciążenia. Te dane pomagają w identyfikowaniu problemów związanych ze skalowalnością, niezawodnością i użyciem zasobów.

  • Śledzeniekondycji i dostępności obciążenia: Ponieważ kluczowe wskaźniki wydajności są monitorowane w czasie rzeczywistym, można otrzymywać alerty o potencjalnych problemach, które wpływają na wydajność i dostępność aplikacji.

  • Popraw wrażenia użytkownika:Możesz uzyskać wgląd w to, jak użytkownicy wchodzą w interakcję z obciążeniem. Te informacje mają zoptymalizować sposób korzystania z aplikacji i określić obszary do ulepszeń.

  • Planowanie pojemności i przydzielanie zasobów: Dane dotyczące wydajności gromadzone przez oprzyrządowanie mogą zapewnić cenne szczegółowe informacje na temat wymagań dotyczących zasobów obciążenia. Te informacje mogą poinformować o decyzjach dotyczących planowania wydajności i przydzielania zasobów.

Podczas monitorowania wydajności należy rozważyć następujące strategie:

  • Użyj narzędzi APM: narzędzia do monitorowania wydajności aplikacji (APM) zbierają i analizują dane dotyczące 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.

  • Instrumentacja niestandardowa: deweloperzy mogą dodawać niestandardowy kod w celu zbierania metryk wydajności, które są unikatowe dla ich aplikacji i obciążenia. Niestandardowa instrumentacja może mierzyć czasy wykonywania, śledzić użycie zasobów lub przechwytywać określone zdarzenia.

  • Przechwytywanie czasów transakcji. Rejestrowanie godzin transakcji wiąże się z pomiarami kompleksowych czasów dla 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 baz danych, czasy odpowiedzi dla zewnętrznych wywołań interfejsów API oraz wskaźniki niepowodzenia kroków przetwarzania.

  • Użyj standardów telemetrycznych. Warto rozważyć użycie bibliotek i narzędzi do instrumentacji narzędzia APM, które są wbudowane w standard telemetryczny, np. OpenTelemetry.

Zbieranie danych wydajności zasobów

Dzięki zbieraniu danych dotyczących wydajności zasobów można uzyskać szczegółowe informacje na temat stanu i zachowania obciążenia. Dane dotyczące wydajności zasobów zawierają informacje na temat wykorzystania zasobów, które są kluczem do planowania wydajności. Te dane pomagają także wykrywać dane kondycji obciążenia i pomagać w rozwiązywaniu problemów w zakresie stanu prac. Rozważmy następujące zalecenia:

  • Zbieranie metryk i dzienników dla każdego zasobu. Każda usługa ma zestaw metryk unikatowych dla funkcji zasobu. Te metryki pomagają poznać stan i wydajność zasobu.

  • Używaj narzędzi platformy. Zbieraj dane z wbudowanych i zintegrowanych rozwiązań do monitorowania, takich jak Azure Monitor Insights. To narzędzie upraszcza operacje wydajności. Narzędzia platformy można uwzględnić podczas wybierania platformy i zarządzania niestandardowymi narzędziami lub raportowaniem.

  • Monitoruj ruch sieciowy. Monitorowanie ruchu w sieci oznacza śledzenie i analizę przepływu i wzorców danych podczas przepływu w sieci. Zbieraj dane analizy ruchu i monitorowania ruchu, który przekracza granice podsieci. Celem jest analizowanie i optymalizowanie wydajności sieci.

Zbieranie danych bazy danych i magazynu danych

Wiele systemów baz danych i przechowywania danych zawiera własne narzędzia monitorowania. Narzędzia te pozwalają zbierać dane dotyczące wydajności specyficzne dla tych systemów. W systemach baz danych i magazynu danych są często generowane dzienniki zawierające zdarzenia i wskaźniki związane z wydajnością. Zbieraj dane bazy danych i dane wydajności magazynu w celu zidentyfikowania wąskich gardeł, które zostały w nich zebrane, diagnozowania problemów i podejmowania dobrze poinformowanych decyzji w celu zwiększenia ogólnej wydajności i niezawodności obciążenia. Rozważ zebranie następujących typów danych dotyczących wydajności:

  • Przepustowość: Przepływność mierzy ilość danych odczytywanych lub zapisywanych w systemie pamięci masowej w danym okresie. Dane przepływności wskazuje na możliwości transferu danych.

  • Opóźnienie: Opóźnienie mierzy, jak długo trwają operacje magazynowania. Dane opóźnienia wskazują dynamikę systemu przechowywania.

  • IOPS (operacje we/wy na sekundę): dane dotyczące liczby operacji odczytu lub zapisu, które system pamięci masowej może wykonać w ciągu sekundy. Dane IOPS wskazują przepływność i dynamikę systemu przechowywania.

  • Użycie pojemności: Użycie pojemności to ilość używanej pojemności magazynu i ilość, która jest dostępna. Użycie danych z użyciem wydajności pomaga organizacjom planować przyszłe potrzeby w zakresie przechowywania danych.

Zbieranie danych dotyczących wydajności łącznika

Czas spędzony na oczekiwanie na zakończenie operacji zintegrowanych usług może przyczynić się do ogólnej wydajności obciążenia. Jeśli w obciążeniach są używane łączniki do integrowania usług, należy rozważyć mierzenie czasu spędzonego podczas każdej operacji łącznika w celu oceny jego wpływu i podjęcia decyzji o optymalizacji projektu prac. W zależności od usługi można użyć historii uruchamiania lub logiki niestandardowej w celu przechwytywania czasu spędzaowego na operacjach łącznika.

Weryfikowanie i analizowanie danych

Dane wydajności powinny być zgodne z wartościami docelowymi wydajności. Dane muszą przedstawiać w pełni i dokładnie wydajność obciążenia lub przepływu, ponieważ dotyczą wartości docelowych wydajności. Na przykład czas odpowiedź usługi sieci Web ma wartość docelową wydajności 500 milisekund. Należy regularnie analizować dane, ponieważ częste oceny umożliwiają wykrywanie na wczesnym etapie i wykrywanie problemów z wydajnością.

  • Twórz alerty. Alerty będą przydatne, co umożliwia identyfikację monitów i usunięcie problemów z wydajnością. Te alerty powinny jasno wskazywać przekroczenie progów wydajności, potencjalny efekt biznesowego i związanych z tym składników. Rozpocznij od ustawienia typowych i zalecanych alertów. Z czasem można modyfikować te kryteria w zależności od konkretnych potrzeb. Głównym celem tych alertów powinno być prognozowanie potencjalnej wydajności przed eskalacją w istotnych problemach. Jeśli nie można ustawić alertu dla zależności zewnętrznej, warto rozważyć opracowanie metody zbierania miary, na przykład czasu trwania rozmowy zależności.

  • Ustawianie limitów zbierania danych. Określ i ustaw logiczne ograniczenia ilości zbieranych danych i czasu jego przechowywania. Telemetria może czasami powodować przetwarzanie dużych ilości danych. Kluczowe znaczenie ma skupienie się na przechwytywaniu tylko najbardziej popularnych wskaźników wydajności lub wydajnego systemu służącego do wyodrębniania istotnej wiedzy z danych dotyczących wydajności.

Power Platform Ułatwienia

Zbieranie danych o wydajności aplikacji: Application Insights to funkcja usługi Azure Monitor, która pomaga monitorować wydajność i dostępność aplikacji. Dane są przechowywane w dziennikach usługi Azure Monitor i Application Insights wizualizowane w panelach Wydajność i Awarie . Dane są eksportowane do środowiska Application Insights w schemacie standardowym zdefiniowanym przez Application Insights. Możesz eksportować Dataverse i Power Automate przesyłać dane do Application Insights, łączyć aplikacje kanwy i Application Insights przechwytywać dane telemetryczne z Microsoft Copilot Studio drugiego pilota do użycia na platformie Azure Application Insights.

Application Insights umożliwia wybranie widoków danych Serwer i Przeglądarka. Identyfikując te operacje z najdłuższym czasem trwania można diagnozować potencjalne problemy.

Korzystaj z natywnych funkcji platformy do analizowania wydajności:Analytics zapewnia Copilot Studio kompleksowy przegląd wydajności drugiego pilota. Wykorzystuje technologię sztucznej inteligencji (AI) do określenia, które tematy mają największy wpływ na współczynnik eskalacji, współczynnik porzucania i współczynnik rozwiązywania problemów. Szczegółowe informacje o wydajności służące do Power Apps analizowania danych użytkowników w czasie wykonywania i udostępniania listy zaleceń z priorytetami, które pomagają zwiększyć wydajność aplikacji opartych na modelu.

Centralizacja, segmentacja i przechowywanie danych dotyczących wydajności: Microsoft już teraz gromadzi obszerne dane telemetryczne dotyczące Dataverse Power Automate przepływów w chmurze i aplikacji opartych na modelach. Dzięki integracji Application Insights administrator środowiska lub dzierżawcy zapewnia klucz instrumentacji Application Insights podczas konfigurowania procesu eksportowania danych w centrum administracyjnym Power Platform. Po zakończeniu instalacji dane telemetryczne, które Microsoft zbierają informacje o środowisku, są wysyłane do Application Insights środowiska. Gdy używasz integracji Application Insights, otrzymasz standardowy zestaw telemetryczny następujący po modelu danych telemetrycznych Application Insights. Oprócz tej integracji można również łączyć aplikacje kanwy z Application Insights copilotem i przechwytywać dane telemetryczne z Microsoft Copilot Studio drugiego pilota do użycia na platformie Azure Application Insights.

Zbieranie danych o wydajności zasobów platformy Azure: Większość usług platformy Azure generuje dzienniki platformy i metryki, które udostępniają informacje diagnostyczne i inspekcjowe. Włączając ustawienia diagnostyczne, można określić dzienniki i metryki platformy do zbierania i przechowywania. Dla celów korelacji należy włączyć diagnostykę dla wszystkich obsługiwanych usług i wysłać dzienniki do tego samego miejsca docelowego, co dzienniki aplikacji.

Zbieranie danych o wydajności bazy danych:Microsoft Dataverse integruje się z Application Insights. Strumień danych dostarcza obecnie danych wydajnościowych związanych z połączeniami przychodzącymi API Dataverse, połączeniami wykonawczymi wtyczek Dataverse oraz połączeniami SDK Dataverse. Aby powiadamiać o problemach, należy skonfigurować alerty na podstawie progów wydajności.

Weryfikowanie i analizowanie danych wydajności: W usłudze Azure Monitor możesz używać dzienników usługi Azure Monitor do zbierania, analizowania i wizualizowania danych dziennika z aplikacji i systemów. Agregując dzienniki, można tworzyć krzyżowe zapytania o zdarzenia i uzyskać wgląd w wydajność aplikacji. Aby uzyskać więcej informacji, zobacz Obliczenia kosztów i opcje dzienników Azure Monitor** i Ceny usługi Azure Monitor.

W usłudze Azure Monitor można zdefiniować reguły alertów służące do monitorowania określonych metryk wydajności i wyzwalać alerty na podstawie wstępnie zdefiniowanych warunków. Użytkownik może na przykład utworzyć regułę alertu powiadamiającą o tym, że czas odpowiedzi przekracza określony limit. Skonfiguruj regułę alertu tak, aby wysyłała powiadomienia do żądanych adresatów.

Podczas tworzenia reguły alertu możesz określić kryteria, które określają, kiedy należy wyzwolić alert. Można ustawić wartości progowe, metody agregowania, okna czasowe i częstotliwość oceny. Definiuj kryteria w oparciu o wymagania monitorowania wydajności. Oprócz wysyłania powiadomień można określić akcje, jakie należy podjąć po wyzwoleniu alertu. Akcje mogą obejmować wysyłanie wiadomości e-mail, wywoływanie składników webhook lub uruchamianie funkcji platformy Azure. Wybierz odpowiednie akcje, które odpowiedzą na określony scenariusz alertu.

Przykłady

Lista kontrolna efektywności wydajności

Zapoznaj się z kompletną zestawem zaleceń.