Zalecenia dotyczące definiowania celów wydajności

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

PE:01 Definiowanie celów 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ą 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 mieć fokusu i braku odpowiedzialności za problemy z wydajnością. Ustawiając cele wydajności, zespoły mogą pracować nad określonymi celami i prowadzić do ciągłego ulepszania.

Definicje

Okres Definicja
Przepływ danych Przenoszenie danych w systemie lub między systemami.
Zależność Składnik, na którego opiera się obciążenie.
Przepływ W obciążeniu sekwencja operacji wykonujących określoną funkcję. Obejmuje to przenoszenie danych i uruchamianie procesów między składnikami obciążenia.
Metryki Wartości liczbowe, które są 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.
Przepływ pracy Sekwencja kroków uruchamianych przez obciążenie w celu wykonania zadania.

Kluczowe strategie projektowania

Ustanowienie celów wydajności jest niezbędnym krokiem do osiągnięcia wydajności obciążenia. Cele dotyczące wydajności definiują żądany poziom wydajności dla 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óżnianiu obszarów ulepszeń. Cele te są również zgodne z celami organizacji i ulepszaniem wyników biznesowych. Ponadto cele dotyczące 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

Ustawianie celów wydajności przed wdrożeniem obciążenia. W przypadku obciążenia w projekcie cele dotyczące wydajności wymagają badań. Przeprowadź badania rynku, analizę konkurencyjną i ankiety, aby wygenerować zakresy docelowe 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 zidentyfikowaniu 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 produkt najlepiej w swojej klasie, czy dla średniego produktu. Możesz na przykład zmniejszyć czas odpowiedzi, zwiększyć współczynnik przepływności lub zoptymalizować użycie zasobów.

Podczas określania 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ń. To saldo zapewnia, że cele wydajności przechwytują zamierzone środowisko użytkownika i ogólną wydajność obciążenia. Aby kompleksowo ocenić i zoptymalizować wydajność obciążeń, 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 zapewniają bezpośrednią poprawę komfortu pracy użytkownika.

  • Przepływy pracy: przepływy pracy zdefiniowane procesy wewnętrzne 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 zidentyfikować potencjalne nieefektywności lub wąskie gardła.

  • Zależności zewnętrzne: zależności zewnętrzne to elementy poza podstawowym obciążeniem (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, zwłaszcza 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żytkownika końcowego, 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ępy w osiąganiu celów dotyczących wydajności obciążenia. Ta identyfikacja zapewnia kwantyfikowalny sposób mierzenia i zwiększania wydajności. Po zidentyfikowaniu kluczowych metryk, na których należy się skoncentrować, rozważ metryki związane z dostępnością, pojemnością i czasem odpowiedzi:

  • Dostępność: Współczynnik 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% żą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 interakcyjny 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ć mierzalne, realistyczne i dostosowane do celów obciążenia. Na przykład można 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. Za pomocą liczbowych celów można obiektywnie ocenić wydajność w czasie. Podczas określania określonych celów dotyczących 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. Rozpoznawanie klienta jako ostatecznego oceny 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 w celu odzwierciedlenia żądanego środowiska klienta i ogólnej skuteczności obciążeń. Definiując cele wydajności, które uwzględniają oczekiwania klientów, można dążyć do zapewnienia wysokiej jakości obsługi klienta i zaspokojenia potrzeb klientów.

  • Używanie 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 scentralizowanej lokalizacji. Cele dotyczące wydajności to wspólna odpowiedzialność między zespołami deweloperów i operacji. Aby zapewnić spójne spełnienie lub przekroczenie tych celów przez obciążenie, zapewnij zespołom informacje i dostęp do podjęcia działań. Aby udokumentować i uwidocznić cele wydajności, rozważ następujące zalecenia:

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

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

  • Spraw, aby można było wykonać działania: dokumentacja i grzejniki informacyjne powinny sugerować jasne następne kroki. Na przykład wzrost błędów może spowodować natychmiastowe sprawdzenie lub spójne osiągnięcie celu może sugerować ponowne oceny tego testu porównawczego.

Ocena opinii klientów

Ocena opinii klientów obejmuje aktywne wyszukiwanie i analizowanie 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 dotyczące 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 pomyślne 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 zapewnia 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.

Lista kontrolna wydajności wydajności

Zapoznaj się z pełnym zestawem zaleceń.