Udostępnij przez


Strategie architektury służące do definiowania celów wydajności

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

PE:01 Zdefiniuj cele wydajności. Cele wydajności powinny być wartościami liczbowymi powiązanymi z wymaganiami dotyczącymi obciążenia. Należy zaimplementować cele wydajności dla wszystkich przepływów obciążeń.

W tym przewodniku opisano zalecenia dotyczące ustanawiania i uwidaczniania celów wydajności. Cele wydajności to metryki definiujące cele wydajności. Te metryki są wyrażane jako pojedyncza wartość liczbowa lub zakres liczbowy. Są one jasne i specyficzne metryki, które napędzają ciągłe ulepszanie. Cele dotyczące wydajności są liczbową podstawą ulepszeń i pomagają zespołom dostosować swoje wysiłki do określonych celów. Bez wyraźnych celów dotyczących wydajności zespoły mogą nie skupiać się i brak odpowiedzialności za problemy z wydajnością. Ustawiając cele dotyczące wydajności, zespoły mogą pracować nad konkretnymi celami i prowadzić ciągłe ulepszanie.

Definicje

Termin Definition
Przepływ danych Przenoszenie danych w systemie lub między systemami.
Zależność Składnik, na którego opiera się obciążenie.
Flow W obciążeniu sekwencja operacji wykonujących określoną funkcję. Obejmuje to przenoszenie danych i uruchamianie procesów między składnikami obciążenia.
Metrics Wartości liczbowe zbierane w regularnych odstępach czasu. Metryki opisują niektóre aspekty systemu w określonym czasie.
Cele dotyczące wydajności Metryki definiujące cele wydajności. Te metryki są wyrażane jako pojedyncza wartość liczbowa lub zakres liczbowy.
Przepływ użytkownika Ścieżki lub sekwencje akcji, które użytkownicy podejmują w aplikacji lub systemie.
Workflow Sekwencja kroków uruchamianych przez obciążenie w celu wykonania zadania.

Ustanawianie celów wydajności jest istotnym krokiem umożliwiającym osiągnięcie wydajności obciążenia. Cele dotyczące wydajności definiują żądany poziom wydajności obciążenia i pomagają ocenić jego skuteczność w realizacji tych celów. Cele wydajności zapewniają test porównawczy do mierzenia i porównywania wydajności obciążenia. Ten test porównawczy może pomóc w wyróżnieniu obszarów poprawy. Cele te są również zgodne z celami organizacji i zwiększają wyniki biznesowe. Ponadto cele wydajności oferują wskazówki dotyczące alokacji zasobów, co pomaga zapewnić, że obciążenia mogą dostosowywać się do różnych wymagań przy zachowaniu optymalnej wydajności.

Ustawianie celów wydajności na wczesnym etapie

Ustaw cele wydajności przed wdrożeniem obciążenia. W przypadku obciążenia w projekcie cele wydajności wymagają badań. Przeprowadź badania rynku, analizę konkurencyjną i ankiety, aby wygenerować zakresy celów wydajności. W przypadku obciążenia produkcyjnego, które nie ma celów wydajności, użyj danych produkcyjnych i opinii klientów, aby ustanowić cele wydajności.

Określanie wymagań dotyczących wydajności

Określenie wymagań dotyczących wydajności polega na identyfikowaniu podstawowych metryk wydajności, takich jak czas odpowiedzi, przepływność i opóźnienie, które mają krytyczne znaczenie dla aplikacji. Dostosowanie tych celów wydajności do celów biznesowych organizacji zapewnia, że obciążenie spełnia żądane standardy, niezależnie od tego, czy jest to najlepszy produkt, czy średni. Można na przykład zmniejszyć czas odpowiedzi, zwiększyć współczynnik przepływności lub zoptymalizować użycie zasobów.

Podczas ustawiania celów wydajności ważne jest, aby dopasować cele organizacji do odrębnych potrzeb bazy użytkowników. Użytkownicy ostatecznie określają sukces wydajności, podkreślając potrzebę dopasowania celów wydajności do swoich oczekiwań. Ta równowaga zapewnia, że cele wydajności przechwytują zamierzone środowisko użytkownika i ogólną wydajność obciążenia. Aby kompleksowo ocenić i zoptymalizować wydajność obciążenia, należy rozważyć ustawienie celów wydajności dla następującej listy:

  • Poszczególne składniki: Poszczególne składniki są oddzielnymi jednostkami lub segmentami obciążenia, z których każdy potencjalnie ma odrębne atrybuty wydajności i wymagania.

  • Przepływy użytkowników: te ścieżki przedstawiają sposób manewru użytkowników przez obciążenie i zapewnienie, że ich płynność bezpośrednio zwiększa środowisko użytkownika.

  • Przepływy pracy: zdefiniowane przepływy pracy są tworzone w celu osiągnięcia określonych wyników i często dyktują wydajność operacyjną.

  • Przepływy danych: Przepływy danych odnoszą się do przenoszenia i interakcji danych w obciążeniu, pomagając identyfikować potencjalne nieefektywności lub wąskie gardła.

  • Zależności zewnętrzne: Zależności zewnętrzne to elementy spoza podstawowego obciążenia (zintegrowane usługi lub narzędzia innych firm), które mogą znacząco wpłynąć na wydajność.

  • Jednostki skalowania: jednostki skalowania odnoszą się do skalowalnych segmentów obciążenia. Zapewnienie niezawodnej wydajności pod zwiększonymi obciążeniami jest kluczowe, szczególnie w scenariuszach wzrostu.

  • Poziomy technologii: Poziomy technologii to bezpośrednie wskaźniki wydajności, takie jak szybkość dostępu do interfejsu API, opóźnienia operacji bazy danych i potencjalne opóźnienia sieci.

  • Transakcje biznesowe: Transakcje biznesowe reprezentują operacje użytkowników końcowych, takie jak ukończenie zakupu lub rezerwacji usługi, ich bezproblemowe wykonywanie jest bezpośrednio powiązane z zadowoleniem użytkowników.

  • Obciążenie w górę: Ta całościowa metryka zawiera omówienie zbiorczej wydajności obejmującej wszystkie składniki i aspekty obciążenia.

Identyfikowanie kluczowych metryk

Identyfikowanie kluczowych metryk wydajności obejmuje określenie podstawowych pomiarów, które śledzą postęp w kierunku osiągnięcia celów dotyczących wydajności obciążenia. Ta identyfikacja zapewnia kwantyfikowalny sposób mierzenia i poprawy wydajności. Po zidentyfikowaniu kluczowych metryk, na których chcesz się skoncentrować, rozważ metryki związane z dostępnością, pojemnością i czasem odpowiedzi:

  • Dostępność: Szybkość błędów to metryka wydajności dostępności. Współczynnik błędów reprezentuje procent żądań w trybie failed w danym okresie. Typowym celem współczynnika błędów jest 0,1% procent żądań.

  • Pojemność: Przepływność i współbieżność to przykładowe metryki pojemności. Przepływność odnosi się do możliwości obsługi określonej liczby transakcji w danym okresie. Na przykład aplikacja może wymagać utrzymania 100 milionów transakcji miesięcznie. Współbieżność to miara równoczesnych użytkowników lub akcji.

  • Czas odpowiedzi: Opóźnienie i czas ładowania to typowe metryki czasu odpowiedzi. Opóźnienie to czas odpowiedzi na żądanie (200 milisekund). Czas ładowania to czas potrzebny na interaktywne działanie aplikacji lub strony internetowej. Typowym celem jest 99% żądań logowania zakończonych mniej niż 1 sekundę.

Ustawianie określonych obiektów docelowych

Po zidentyfikowaniu kluczowych metryk należy określić cele wydajności lub progi dla każdej metryki. Cele dotyczące wydajności powinny być wymierne, realistyczne i dostosowane do celów obciążenia. Można na przykład ustawić docelowy czas odpowiedzi wynoszący mniej niż 500 milisekund (ms) lub docelowy współczynnik błędów wynoszący mniej niż 1 procent. Unikaj jakościowych ocen wydajności, takich jak szybkie lub powolne. Korzystając z liczbowych celów, można obiektywnie ocenić wydajność w czasie. W miarę ustawiania określonych celów wydajności należy wziąć pod uwagę następujące zalecenia:

  • Rozważ klienta: po ustawieniu celów wydajności należy przyjąć perspektywę skoncentrowaną na kliencie. Uznanie klienta za ostateczną ocenę wydajności pomaga zapewnić, że cele wydajności są zgodne z oczekiwaniami klientów. To dopasowanie obejmuje uwzględnienie zarówno celów organizacyjnych, jak i odrębnych wymagań bazy klientów. Po zintegrowaniu tych dwóch aspektów można dostosować cele wydajności, aby odzwierciedlić żądane środowisko klienta i ogólną efektywność obciążenia. Definiując cele wydajności, które uwzględniają oczekiwania klientów, można dążyć do zapewnienia wysokiej jakości środowiska klienta i zaspokajania potrzeb klientów.

  • Użyj percentyli: Percentyle, takie jak P99, P95 i P50, są standardem branżowym reprezentującym wynik ocen wydajności. Percentyle to miary, które wskazują, ile danych zawiera liczba. Na przykład P99 obejmuje 99% danych. Użyj percentyli, a nie prostych średnich, aby zapewnić bardziej kompleksowe zrozumienie wydajności obciążenia. Aby zmierzyć percentyle, zbierz dane dotyczące wydajności w danym okresie, zazwyczaj przy użyciu narzędzi do monitorowania lub mechanizmów rejestrowania. Następnie przeanalizuj te dane, aby określić wartości czasu odpowiedzi w różnych percentylach.

Dokumentowanie i uwidacznianie celu wydajności

Dokumentowanie i uwidacznianie celów wydajności dotyczy rejestrowania wszystkich celów wydajności w centralnej lokalizacji. Osiąganie celów dotyczących wydajności jest wspólną odpowiedzialnością między zespołami deweloperów i zespołów operacyjnych. Aby upewnić się, że obciążenie stale spełnia lub przekracza te cele, zapewnij zespołom informacje i dostęp do podjęcia działań. Aby udokumentować i uwidocznić cele dotyczące wydajności, rozważ następujące zalecenia:

  • Cele wydajności dokumentu: dokumentowanie wszystkich celów wydajności. Upewnij się, że wszystkie cele dotyczące wydajności są udokumentowane w scentralizowanej lokalizacji, łatwo dostępne dla zespołów programistycznych i operacyjnych. Promuje wyrównanie i pomoc w podejmowaniu decyzji w czasie rzeczywistym.

  • Uwidaczniaj cele wydajności: Wszystkie odpowiedzialne zespoły powinny mieć możliwość przeglądania i tworzenia zadań z możliwością wykonywania działań na podstawie celów wydajności. Użyj grzejników informacyjnych, takich jak pulpity nawigacyjne i raporty, aby zapewnić dostępność celów wydajności.

  • Umożliw działanie: dokumentacja i chłodnice informacyjne powinny sugerować jasne następne kroki. Na przykład wzrost błędów może spowodować natychmiastowe sprawdzenie lub spójne spełnienie celu może sugerować ponowne oceny tego testu porównawczego.

Ocena opinii klientów

Ocena opinii klientów polega na aktywnym poszukiwaniu i analizowaniu odpowiedzi i sugestii klientów. Aktywnie zbierając i analizując opinie klientów, można uzyskać cenny wgląd w ich potrzeby i oczekiwania. Regularna komunikacja pomaga dostosować cele wydajności zgodnie ze zmieniającymi się preferencjami i trendami technologicznymi. Skupienie się na potrzebach klientów oznacza, że obciążenie nie tylko jest zgodne z testami porównawczymi technicznymi, ale także przechodzi ciągłe uściślenie. Takie podejście, podkreślając zadowolenie klientów, zapewnia, że obciążenie pozostaje istotne i skuteczne w dłuższej perspektywie.

Ułatwienia platformy Azure

Ustawianie celów wydajności: usługa Azure Advisor udostępnia zalecenia dotyczące wydajności , które mogą informować o celach wydajności.

Azure Monitor to usługa monitorowania pełnego stosu, która udostępnia pełny zestaw funkcji do monitorowania zasobów platformy Azure i mierzenia celów wydajności. Zbiera metryki platformy i udostępnia gotowe do użycia pulpity nawigacyjne. Umożliwia ona konfigurowanie alertów na podstawie metryk. Przechowuje również i koreluje metryki, aby zapewnić pojedyncze źródło prawdy.

Usługa Azure Network Watcher może służyć do ustanawiania i monitorowania celów wydajności w całej infrastrukturze platformy Azure. Użyj monitora połączeń , aby zmierzyć opóźnienia i utratę pakietów za pomocą ciągłych testów syntetycznych i diagnostyki. Analiza ruchu służy do analizowania dzienników przepływów i wykrywania trendów w zakresie użycia przepustowości i wzorców ruchu. Twórz niestandardowe skoroszyty w obu narzędziach, aby wizualizować metryki wydajności, śledzić punkty odniesienia i obsługiwać bieżącą ocenę wydajności.

Lista kontrolna efektywności działania

Zapoznaj się z pełnym zestawem zaleceń.