Udostępnij za pośrednictwem


Zalecenia dotyczące reagowania na problemy z wydajnością na żywo

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

PE:11 Reagowanie na problemy z wydajnością na żywo. Zaplanuj sposób rozwiązywania problemów z wydajnością, uwzględniając jasne linie komunikacji i obowiązków. Gdy wystąpi problematyczna sytuacja, skorzystaj z tego, czego nauczysz się identyfikować środki zapobiegawcze i uwzględniać je w obciążeniu. Zaimplementuj metody powrotu do normalnych operacji szybciej, gdy wystąpią podobne sytuacje.

W tym przewodniku opisano najlepsze rozwiązania dotyczące reagowania na problemy z wydajnością na żywo. Problemy z wydajnością na żywo odnoszą się do wyzwań i wąskich gardeł w czasie rzeczywistym, które mogą utrudniać optymalne funkcjonowanie obciążenia. Rozwiązanie tych problemów szybko nie tylko ułatwia natychmiastowe wykrywanie i recyfikację czkawek wydajności, ale także zapewnia, że obciążenie stale spełnia swoje testy porównawcze wydajności. Nie można ich rozwiązać, może prowadzić do komplikacji, w tym spowolnień, awarii i braku odpowiedzi systemu oraz obniżenia wydajności środowiska użytkownika. Mogą również uniemożliwić użytkownikom wydajne wykonywanie swoich zadań, a z kolei nadszarpnąć reputację organizacji.

Definicje

Okres Definicja
Korelacja danych Wyrównywanie dzienników, metryk i zdarzeń z różnych części obciążenia w celu zidentyfikowania podstawowych przyczyn.
Analiza głównej przyczyny Proces identyfikowania podstawowych czynników, które są odpowiedzialne za problem.
Samonaprawianie Możliwość automatycznego naprawiania problemów bez interwencji człowieka.
Samodzielna zapobieganie Implementacje w ramach obciążenia, aby zapobiec potencjalnym problemom i awariom.

Kluczowe strategie projektowania

W przypadku wystąpienia problemu z wydajnością na żywo należy przygotować odpowiednie dane i plan reagowania na problem. Plan ten powinien zawierać jasne linie komunikacji i obowiązków. Głównym celem jest zaimplementowanie rozwiązań ułatwiających szybki powrót do regularnych operacji i uzyskiwanie szczegółowych informacji ze zdarzenia. Integrowanie środków zapobiegawczych z przepływem pracy jest kluczową strategią. Celem jest albo uniemożliwienie ponownego wystąpienia tego samego problemu lub zmniejszenie jego wpływu na wydajność, jeśli nie jest to możliwe.

Przygotowanie do problemów

Idealna odpowiedź na problemy z wydajnością lokacji na żywo jest precyzyjna i szybka. Precyzja i szybkość korygowania wydajności wymagają przygotowania. Aby skutecznie reagować na problemy z wydajnością na żywo, kluczowe jest monitorowanie kluczowych metryk wydajności, identyfikowanie głównej przyczyny problemów oraz implementowanie odpowiednich rozwiązań lub optymalizacji. Aby wykonać te kroki, może być konieczne analizowanie dzienników obciążeń, przeprowadzanie testów wydajnościowych, optymalizowanie kodu lub konfiguracji oraz skalowanie zasobów. W poniższych przykładach przedstawiono kilka krytycznych obszarów przygotowania:

  • Mają dokładne diagramy architektury. Diagramy architektury powinny zawierać wszystkie składniki i pokazać, jak współdziałają. Wizualna reprezentacja może pomóc w zidentyfikowaniu wąskich gardeł i pojedynczych punktów awarii, które mogą prowadzić do obniżenia wydajności lub niedostępności. Najlepiej, aby złapać i usunąć te problemy, zanim spowodują problemy, ale aktualny diagram może pomóc w określeniu problemów w momentach wysokiego stresu.

  • Sprawdź dostęp do danych. Dane i dzienniki z procesów monitorowania mają kluczowe znaczenie dla reagowania na problemy z wydajnością w czasie rzeczywistym i przeprowadzania analiz głównych przyczyn. Ważne jest jednak zachowanie integralności i poufności danych. Reagowanie na problemy z wydajnością lokacji na żywo często wymaga dostępu do danych bazowych, które mogą być zwykle niedostępne. Należy się upewnić, że personel ma dostęp do danych, których potrzebują, gdy wystąpią problemy. Należy jednak udzielać tylko ograniczonego czasowo, najmniej uprzywilejowanego dostępu i ograniczyć ten dostęp do autoryzowanego personelu.

  • Ustaw alerty automatyczne. Alerty mogą pomóc w identyfikowaniu i rozwiązywaniu problemów natychmiast po ich wystąpieniach. Alerty powinny generować powiadomienia, gdy wydajność obciążenia odbiega od punktów odniesienia wydajności. W czasie należy dostosować konfiguracje alertów, aby uniknąć generowania zbyt wielu lub zbyt mało powiadomień. Używane rozwiązania do monitorowania wymagają zbierania wystarczającej ilości danych do generowania alertów. Te alerty powinny być zgodne z celami wydajności i ustalonymi punktami odniesienia. Należy unikać generowania alertów dotyczących problemów, które są istotne dla Twoich celów. Przykłady alertów obejmują degradacje użycia procesora CPU, pamięci, czasów odpowiedzi i wydajności bazy danych.

Tworzenie planu klasyfikacji

Utworzenie planu klasyfikacji obejmuje opracowanie ustrukturyzowanego podejścia do identyfikowania, eskalowania, analizowania, określania priorytetów i przekazywania problemów z wydajnością lokacji na żywo. Plan klasyfikacji to strategia reagowania na problemy z wydajnością na żywo. Zapewnia to szybkie i skuteczne rozwiązanie zakłóceń wydajności dzięki przejrzystym rolom i procedurom. Większość problemów z wydajnością nie wymaga protokołów odzyskiwania po awarii, ale może mieć wpływ na funkcjonalność obciążenia wystarczająco dużo, aby wymagać planowania klasyfikacji. Dobrze udokumentowany plan klasyfikacji zapewnia, że wszyscy członkowie zespołu są dopasowani i mogą działać szybko, minimalizując wpływ na użytkowników i obciążenia. Plan klasyfikacji powinien zawierać następujące składniki:

  • Identyfikacja i monitorowanie: zaimplementuj system, aby identyfikować i monitorować problemy z wydajnością w czasie rzeczywistym. Powinna istnieć lista informacji kontaktowych osób, które mogą podejmować decyzje lub eskalować problemy na wyższy poziom. Plan powinien również identyfikować role i obowiązki. Musi udokumentować, które konta uzyskują dostęp do chronionych informacji i jak długo.

  • Proces eskalacji: zdefiniuj jasny proces eskalacji, aby zapewnić eskalację problemów z wydajnością do odpowiednich zespołów lub osób w odpowiednim czasie. Definicja procesu powinna zawierać informacje kontaktowe i wytyczne dotyczące eskalacji problemów.

  • Analiza głównej przyczyny: opracuj proces przeprowadzania analizy głównej przyczyny w celu zidentyfikowania podstawowej przyczyny każdego problemu z wydajnością. Proces powinien obejmować analizowanie dzienników i metryk wydajności oraz przeprowadzanie testów diagnostycznych w celu zidentyfikowania źródła każdego problemu.

  • Priorytetyzacja: ustanów strukturę priorytetyzacji, aby określić ważność problemów z wydajnością i ustalić ich priorytety na podstawie ich wpływu na obciążenie i użytkowników.

  • Komunikacja: Utwórz plan komunikacji, aby informować uczestników projektu o stanie problemów z wydajnością i postępach ich rozwiązywania. Rozważ regularne aktualizacje, raporty o stanie i wyczyść kanały komunikacyjne.

  • Dokumentacja: dokumentowanie planu klasyfikacji, w tym wszystkich jego kroków, procesów i najlepszych rozwiązań. Ta dokumentacja powinna być łatwo dostępna dla członków zespołu, którzy uczestniczą w reagowaniu na problemy z wydajnością.

Opracowywanie metod identyfikowania i rozwiązywania problemów

Rozwiązywanie problemów z wydajnością na żywo obejmuje identyfikowanie i rozwiązywanie wszelkich czynników, które mogą spowodować obniżenie wydajności lub nieefektywność w obciążeniu na żywo. Dane zbierane podczas monitorowania są bezcenne podczas badania i rozwiązywania zdarzeń związanych z wydajnością. Te dane zawierają historyczny rekord metryk wydajności. Gdy masz dostępne dane monitorowania, możesz analizować główne przyczyny i identyfikować czynniki przyczyniające się. Aby zrozumieć i rozwiązać każdy problem z wydajnością, należy użyć wszystkich odpowiednich danych monitorowania.

Korzystanie z analizy głównej przyczyny

Analiza głównej przyczyny wymaga testowania hipotez. Po przejrzeniu danych monitorowania należy wyświetlić listę potencjalnych przyczyn problemu z wydajnością i przetestować je. Aby przeprowadzić analizę głównej przyczyny problemu z wydajnością na żywo, możesz wykonać następujące kroki:

  1. Zbierz informacje. Zbierz jak najwięcej informacji o problemie z wydajnością. Przykłady obejmują komunikaty o błędach, dzienniki, metryki wydajności i inne istotne dane.

  2. Zdefiniuj problem. Jasno zdefiniuj problem, identyfikując objawy i wpływ problemu na obciążenie lub użytkowników.

  3. Badanie potencjalnych przyczyn. Zawęź zakres analizy, identyfikując konkretny składnik lub obszar obciążenia, w którym występuje problem z wydajnością. Zidentyfikuj potencjalne przyczyny problemu z wydajnością na podstawie zebranych informacji. Ten proces może obejmować analizowanie kodu, ustawień konfiguracji, infrastruktury lub zależności zewnętrznych.

  4. Skoreluj dane. Dowiedz się więcej na temat zebranych danych, aby zidentyfikować wzorce, anomalie lub korelacje, które mogą przyczynić się do problemu z wydajnością. Korelacja danych jest kluczem do identyfikowania problemów z wydajnością i przyczyn. Może to obejmować przeglądanie dzienników, analizowanie metryk wydajności i przeprowadzanie testów.

  5. Przetestuj hipotezy. Formułuj hipotezy na podstawie potencjalnych przyczyn, które identyfikujesz. Przeprowadzanie testów w celu zweryfikowania lub obalenia hipotez. Aby sprawdzić, czy można replikować błąd, należy użyć środowiska testowego.

  6. Implementowanie rozwiązań. Po zidentyfikowaniu głównej przyczyny opracuj i zaimplementuj rozwiązania w celu rozwiązania problemu z wydajnością.

  7. Monitorowanie i weryfikowanie. Po zaimplementowaniu rozwiązań stale monitoruj obciążenie, aby upewnić się, że problem z wydajnością zostanie rozwiązany. Zweryfikuj skuteczność rozwiązań, monitorując metryki wydajności i opinie użytkowników.

Kompromis: kroki analizy głównej przyczyny, takie jak identyfikowanie możliwych przyczyn, testowanie hipotez i dokumentowanie analizy, może być czasochłonne. Aby skorelować problemy z wydajnością, należy również zbierać i przechowywać dane. Wymagany czas i infrastruktura mogą dodać znaczną pracę do zespołów operacyjnych i koszt obciążenia.

Ryzyko: Jeśli przeprowadzasz analizę głównej przyczyny bez odpowiednich barier zabezpieczających, istnieje ryzyko ujawnienia poufnych informacji podczas zapewniania dostępu do dzienników i danych.

Angażowanie pomocy technicznej dostawcy

Pomoc techniczna dostawcy może być podstawowym krokiem podczas rozwiązywania bieżących problemów z wydajnością. Dostawcy mają wiedzę, narzędzia, zasoby i doświadczenie w rozwiązywaniu problemów z ich produktami. Umowa pomocy technicznej z dostawcą określa poziom wsparcia zapewnianego przez dostawcę.

Często najlepiej jest pracować równolegle z dostawcami. Należy utworzyć plan współpracy niektórych członków zespołu z pomocą techniczną dostawcy, podczas gdy inni będą nadal klasyfikować i rozwiązywać problemy z wydajnością. Zespoły pomocy technicznej dostawcy mogą również przedstawiać sugestie dotyczące sposobu zapobiegania i automatyzowania odpowiedzi na podobne zdarzenia.

Musisz mieć dostępne informacje kontaktowe dla personelu. Dostawcy mogą również potrzebować dostępu do danych, aby skutecznie angażować się w rozwiązywanie problemów. Musisz mieć plan uwierzytelniania i autoryzacji kont zewnętrznych lub gości w celu uzyskania dostępu do danych monitorowania.

Dowiedz się więcej na podstawie wyników

Po rozwiązaniu problemu z wydajnością witryny na żywo należy sprawdzić, co się stało. Celem jest poznanie problemów z wydajnością, a nie tylko identyfikowanie problemów. Najlepszym sposobem na naukę jest dokumentacja. Udokumentowanie każdego problemu i wyjaśnienie, jak go rozwiązać. Jeśli dostawca pomógł, skontaktuj się z dostawcą, aby ulepszyć dokumentację, wytrenować zespół i odpowiednio zmodyfikować obciążenie.

Dokumentacja powinna wskazywać, jak zapobiec ponownemu wystąpieniu każdego problemu. Jednym ze sposobów uniknięcia powtarzających się problemów jest wprowadzenie automatyzacji w celu reagowania na typowe problemy. Automatyzacja powinna dodać do obciążenia cechy samonaprawiania i samozaprawiania. Oprócz automatyzacji można tworzyć uściślione alerty, które ułatwiają wczesne reagowanie na wskaźniki problemów z wydajnością.

Ułatwienia platformy Azure

Opracowywanie metod identyfikowania i rozwiązywania problemów: platforma Azure udostępnia kilka narzędzi, które ułatwiają reagowanie na problemy z wydajnością na żywo:

  • Usługa Azure Monitor to kompleksowe rozwiązanie do monitorowania, które zapewnia wgląd w wydajność i kondycję aplikacji i infrastruktury. Monitorowanie oferuje funkcje, takie jak metryki, dzienniki, alerty i pulpity nawigacyjne, które ułatwiają monitorowanie i diagnozowanie problemów z wydajnością.

  • Application Insights to usługa zarządzania wydajnością aplikacji (APM), która pomaga deweloperom i specjalistom DevOps monitorować aplikacje na żywo. Automatycznie wykrywa anomalie wydajności, zbiera dzienniki i zdarzenia na poziomie aplikacji oraz udostępnia narzędzia analityczne do diagnozowania problemów.

  • Log Analytics to usługa, która zbiera i analizuje dane dziennika z różnych źródeł, w tym aplikacji, maszyn wirtualnych i zasobów platformy Azure. W przypadku korzystania z usługi Log Analytics możesz wykonywać zapytania i analizować dane dziennika, aby uzyskać wgląd w wydajność i zachowanie aplikacji.

Lista kontrolna wydajności wydajności

Zapoznaj się z pełnym zestawem zaleceń.