Zalecenia dotyczące testowania wydajności
Dotyczy tego Power Platform zalecenia dotyczącego listy kontrolnej Well-Architected Performance Efficiency:
PE:05 | Testowanie wydajności. Regularnie przeprowadzaj testy w środowisku pasującym do środowiska produkcyjnego. Porównaj wyniki z wartościami docelowymi wydajności i testem porównawczym wydajności. |
---|
W tym przewodniku opisano zalecenia dotyczące testowania. Testowanie wydajności ułatwia ocenianie funkcji obciążenia w różnych scenariuszach. Obejmuje to testowanie czasu odpowiedzi, przepływności, wykorzystania zasobów i stabilności obciążenia w celu zapewnienia, że obciążenie spełnia wymagania dotyczące wydajności.
Testowanie pomaga zapobiec problemom z wydajnością. Pomaga również zagwarantować, że obciążenie spełnia warunki umowy dotyczącej poziomu usług. Bez testowania wydajności w obciążeniach może wystąpić obniżenie wydajności, któremu często można zapobiec. Wydajność obciążenia może odchylać się wartości docelowych wydajności i ustalonych planów bazowych.
Definicje
Termin | Definicja |
---|---|
Testowanie w warunkach chaosu | Test wydajności, który pozwala przetestować odporność i stabilność systemu przez celowe wprowadzenie losowych i nieprzewidzianych awarie lub zakłóceń. |
Test obciążeniowy | Test wydajności mierzący wydajność systemu przy typowym i dużym obciążeniu. |
Plan bazowy wydajności | Zestaw metryk reprezentujących zachowanie obciążenia w normalnych warunkach, sprawdzanych przez testy. |
Test wytrzymałościowy | Test wydajności, który przeciąża system do momentu jego awarii. |
Test syntetyczny | Test wydajności, który symuluje żądania użytkowników w aplikacji. |
Kluczowe strategie projektowania
Testowanie wydajności ułatwia zbieranie mierzalnych danych dotyczących obciążenia. Uruchamianie testów na wczesnym etapie pomaga w budowaniu obciążeń zgodnie ze specyfikacjami. Dlatego należy przeprowadzić testy wydajności możliwie jak najwcześniej w cyklu projektowania. Testowanie na wczesnym etapie można wychwycić i rozwiązać problemy z wydajnością przed rozpoczęciem pracy w środowisku produkcyjnym. Jeśli kod produkcji nie jest gotowy, można użyć weryfikacji koncepcji (POC).
Migracja danych z wcześniejszego systemu musi zostać ukończona w określonym oknie czasowym, a testy wydajności powinny obejmować pomiar wydajności migracji danych.
Przygotowywanie testu
Przygotowanie testów wydajności odnosi się do konfigurowania i organizowania zasobów, konfiguracji i scenariuszy testowych, których potrzebujesz do skutecznego przeprowadzenia testów wydajności. Dobry test wydajności powinien symulować rzeczywisty sposób korzystania przez użytkowników z rozwiązania. Powinien on także pomóc w zweryfikowaniu, czy dane rozwiązanie spełniają cele wydajności.
Definiowanie kryteriów akceptacji
Kryteria akceptacji określają wymagania wydajności, które musi spełniać obciążenie, aby można było je uznać za możliwe do zaakceptowania lub udane. Zdefiniuj kryteria pasujące do wartości docelowych wydajności.
Przejrzyj wartości docelowe wydajności. Wartości docelowe wydajności definiują żądany poziom wydajności w obciążeniach. Przejrzyj wartości docelowe wydajności ustalone dla obciążenia. Wartości docelowe wydajności to metryki, które mogą obejmować czas odpowiedzi, przepływność, wykorzystanie zasobów lub inne odpowiednie wskaźniki wydajności. Można na przykład znaleźć wartość docelową dla czasu odpowiedzi poniżej określonego progu, np. poniżej 2 sekund.
Zdefiniuj kryteria akceptacji. Przetłumacz wartości docelowe wydajności na określone kryteria akceptacji, których można użyć do oceny wydajności obciążenia. Można na przykład założyć, że wartość docelowa wydajności dla czasu odpowiedzi wynosi nie więcej niż 2 sekundy. Kryterium akceptacji może być Średni odpowiedź czasu obciążenia powinien być krótszy niż 2 sekundy. Użyj tych kryteriów akceptacji, aby określić, czy obciążenie spełnia żądany poziom wydajności.
Podczas definiowania kryteriów akceptacji ważne jest skupienie się na użytkownikach i ich oczekiwaniach. Kryteria akceptacji pomagają zagwarantować, że dostarczane prace spełniają potrzeby i wymagania użytkowników. Należy pamiętać o następujących rozważaniach dotyczących uwzględnienia perspektyw użytkownika w kryteriach akceptacji:
Osoby użytkownika: należy poznać liczbę i typy użytkowników, którzy będą korzystać z rozwiązania w tym samym czasie. Zdefiniuj osoby użytkownika reprezentujące różne role, lokalizacje, konfiguracje zabezpieczeń, zestawy danych i działania.
Wymagania użytkownika: zrozumienie potrzeb użytkowników i celów dotyczących obciążenia. Rozważ sposób działania obciążenia w celu spełnienia tych wymagań. Zdefiniuj scenariusze codziennej pracy, które odzwierciedlają czynności, które użytkownicy wykonywać podczas typowego dnia pracy. Uwzględnij scenariusze szczytowego i normalnego obciążenia.
Środowisko użytkownika: zdefiniuj kryteria akceptacji dotyczące pożądanego środowiska użytkownika. Należy uwzględnić czynniki, takie czas odpowiedzi, użyteczność, ułatwienia dostępu i ogólne zadowolenie.
Wymagania funkcjonalności: należy użyć określonych funkcji, których użytkownik oczekuje w obciążeniu. Zdefiniuj kryteria akceptacji, dotyczące tych wymagań funkcjonalnych, aby zapewnić ich zgodność z wymaganiami. W każdym scenariuszu należy użyć realistycznych ilości danych. Nie należy używać większej ani mniejszej liczby danych niż potrzeby użytkowników.
Wymagania dotyczące infrastruktury: zdefiniuj wymagania infrastruktury technicznej dla każdego scenariusza. Jeśli na przykład użytkownicy będą mieć dostęp do rozwiązania z urządzeń przenośnych ze słabą łącznością, przetestuj rozwiązanie w tych warunkach.
Przypadki użycia: można rozważyć różne scenariusze lub przypadki użycia, które może napotkać użytkownik. Zdefiniuj kryteria akceptacji na podstawie tych przypadków użycia w celu sprawdzenia poprawności wydajności obciążenia w sytuacjach rzeczywistych.
Ustaw progi akceptacji. Określ progi w kryteriach akceptacji, które wskazują, czy obciążenia spełniają wartości docelowe wydajności. Te progi definiują dopuszczalny zakres wydajności dla każdej metryki. Załóżmy na przykład, że kryterium akceptacji dla czasu odpowiedzi jest czas krótszy niż 2 sekundy. Wartość progową można ustawić na 2,5 sekundy. Ten poziom oznacza, że każdy czas odpowiedzi dłuższy niż 2,5 sekundy jest traktowany jako problem z wydajnością.
Zdefiniuj kryteria zaliczenia. Ustanów kryteria służące do określenia, czy test wydajności obciążenia miał wynik pozytywnych czy negatywny. Zaliczenie może oznaczać osiągnięcie wszystkich kryteriów akceptacji lub osiągnięcie określonego procentu z nich.
Wybieranie typu testu
W celu wybrania odpowiedniego typu testu wydajności ważne jest, aby dopasować ten test do kryteriów akceptacji. Kryteria akceptacji definiują warunki, które muszą spełnione, aby można było uwzględnić wymaganie lub poprawkę usterkę jako spełnione. Testy wydajności powinny mieć na celu sprawdzenie, czy obciążenie spełnia te kryteria akceptacji i działa zgodnie z określonymi warunkami. Dostosowanie typu testu wydajności do kryteriów akceptacji pomaga zagwarantować, że test skupi się na spełnianiu oczekiwań wydajności określonych przez kryteria.
Zapoznaj się z kryteriami akceptacji. Przejrzyj kryteria akceptacji pod kątem wymagania lub poprawki usterki. W kryteriach są określone warunki i funkcje, które mają być spełnione.
Zidentyfikuj odpowiednie wskaźniki wydajności. Na podstawie kryteriów akceptacji należy określić metryki wydajności, które mają krytyczne znaczenie dla osiągania żądanych wyników. Jeśli na przykład kryteria akceptacji skoncentrują się na czasie odpowiedzi, priorytetyzowanie testowania obciążenia może być właściwą opcją.
Wybierz odpowiedni typ testu. Oceń dostępne typy testów i wybierz typ, który najlepiej dostosowuje się do zidentyfikowanych metryk wydajności i kryteriów akceptacji.
W poniższej tabeli przedstawiono przykładowe typy testów i ich przypadki użycia.
Typ testu | Podpis | Przypadek użycia |
---|---|---|
Testowanie obciążenia | Symuluj realistyczne obciążenia użytkownika w celu zmierzenia oceny wydajności prac w oczekiwanych szczytowych obciążeniach. | Określa tolerancję obciążenia. |
Testowanie wytrzymałości | Wypchnij obciążenie poza normalne limity, aby zidentyfikować jego punkty krytyczne i zmierzyć możliwość odzyskiwania sprawności. | Określa odporność i niezawodność. |
Testowanie nasycenia (testowanie odporności) | Obciążenia należy uruchamiać ze zrównoważonym dużym ładunkiem przez dłuższy okres w celu zidentyfikowania pogorszenia wydajności, wycieków danych z pamięci lub problemów z zasobami. | Ocenia stabilność i niezawodność w czasie. |
Testowanie wzrostów | Symuluj nagłe wzrosty obciążenia użytkowników w celu oceny sposobu, w jaki obciążenie obsługuje raptowne zmiany zapotrzebowania. | Mierzy zdolność skalowania i utrzymania wydajności w okresach szczytowych. |
Testowanie zgodności | Przetestuj wydajność prac na różnych platformach, przeglądarkach i urządzeniach. | Pomaga zapewnić spójną wydajność w różnych środowiskach. |
Priorytetyzuj wybrane typy testów w oparciu o charakterystyki i wymagania obciążenia. Weź pod uwagę czynniki, takie jak krytyczność metryk wydajności, oczekiwania użytkowników, priorytety biznesowe i znane problemy lub luki w zabezpieczeniach.
Wybieranie narzędzi do testowania
Wybierz odpowiednie narzędzia oparte na typie testowania wydajności, które chcesz uruchomić. Oceń infrastrukturę, zasoby i ograniczenia środowiska testowego. Wybierz narzędzia do testowania wspierające wymagane typy testów i zapewniające funkcje monitorowania, miar, analiz i raportowania.
Narzędzie do monitorowania wydajności aplikacji (APM) zawiera szczegółowe informacje na temat aplikacji i jest niezbędnym narzędziem do testowania. Ułatwia ono śledzenie poszczególnych transakcji i mapowanie ich ścieżek na różne usługi w zakresie obciążenia. Po zakończeniu testowania należy użyć narzędzia APM do analizowania i porównywania danych testowych z planem bazowym wydajności.
Narzędzia do profilowania pozwalają zidentyfikować w kodzie informacje o wydajności. Profilowanie pomaga zidentyfikować obszary kodu, które zużywają najwięcej zasobów i wymagają optymalizacji. Dostarcza ono szczegółowe informacje na temat czasu wykonywania i użycia pamięci różnych części kodu.
Poniższe kroki mogą pomóc w wybraniu odpowiednich narzędzi do testowania:
Zidentyfikuj wymagania dotyczące testowania. Rozpocznij od zrozumienia określonych wymagań testowania wydajności. Weź pod uwagę różne czynniki:
- Typ obciążenia
- Metryki wydajności do mierzenia, takie jak czas odpowiedzi i przepływność
- Złożoność architektury obciążenia
- Środowisko testowe, takie jak oparte na chmurze, lokalne lub hybrydowe
Badaj narzędzia testowe. Przeprowadź badania w celu zidentyfikowania narzędzi do testowania wydajności dostosowanych do określonych wymagań. Warto rozważyć narzędzia komercyjne i open source dostępne na rynku. Poszukaj narzędzi, które obsługują wybrane typy testowania wydajności, takie jak testowanie obciążenia lub testowanie wytrzymałości, i oferują funkcje pomiaru metryk wydajności.
Oceń cechy narzędzia. Oceń funkcje dostępne w każdym narzędziu do testowania. Zwróć uwagę na funkcje, takie jak symulacja realistycznego zachowania użytkownika i skalowalność do obsługi dużych obciążeń użytkowników. Warto rozważyć obsługę różnych protokołów i technologii, integrację z innymi narzędziami i platformami do testowania oraz możliwości w zakresie raportowania i analizy.
Weź pod uwagę kompatybilność i integrację. Określ zgodność narzędzi do testowania z istniejącą infrastrukturą i technologiami. Upewnij się, że narzędzia można łatwo zintegrować ze środowiskiem testowym i że mogą komunikować się z niezbędnym obciążeniem w celu monitorowania i analizy.
Oceń koszty i licencje. Oceń strukturę kosztów i warunki licencjonowania skojarzone z narzędziami testowania. Weź pod uwagę czynniki, takie jak początkowa inwestycja, koszty konserwacji i koszty obsługi. Weź również pod uwagę inne wymagania dotyczące licencjonowania, które zależą od liczby użytkowników lub użytkowników wirtualnych.
Przeprowadź weryfikację koncepcji. Na podstawie oceny wybierz kilka narzędzi, które mogą być najbardziej odpowiednie. Przeprowadź POC na niewielką skalę w celu sprawdzenia poprawności przydatności, funkcji i skuteczności narzędzi w określonym scenariuszu testowania.
Zastanów się nad wsparciem i szkoleniem. Oceń poziom wsparcia i szkoleń zapewnianych przez dostawcę lub społeczność w zakresie tego narzędzia. Określ dostępność dokumentacji, samouczków i kanałów pomocy technicznej, które będą pomagać w przypadku wszelkich problemów, jakie mogą wystąpić w trakcie procesu testowania.
Tworzenie scenariuszy testowych
Tworzenie scenariuszy testowych odnosi się do procesu projektowania określonych sytuacji lub warunków odpowiednich do testowania wydajności obciążenia. Scenariusze testowe są tworzone w celu emulowania realistycznych zachowań użytkowników i wzorców obciążenia. Te scenariusze stanowią sposób oceny wydajności działania obciążenia w różnych warunkach.
Scenariusze testowe umożliwiają replikowanie różnych wzorców obciążenia, takich jak równoczesny dostęp użytkowników, okresy szczytowego obciążenia lub określone sekwencje transakcji. Testując obciążenia przy różnych wzorcach obciążenia, można zidentyfikować wąskie gardła wydajności i zoptymalizować alokację zasobów.
Zdefiniuj zachowanie użytkownika. Emuluj realistyczne zachowanie użytkowników i wzorce obciążenia przez określenie kroków i akcji do wykonania przez użytkowników w czasie interakcji z obciążeniem. Warto rozważyć działania, takie jak logowanie się, przeprowadzanie wyszukiwania, przesyłanie formularzy lub uzyskiwanie dostępu do określonych funkcji. Poszczególne scenariusze należy rozbić na konkretne kroki i akcje reprezentujące interakcję użytkownika z obciążeniem. Można przechodzić między stronami, wykonywać transakcje lub używać różnych elementów obciążenia.
Określ zaangażowanie danych. Zidentyfikuj dane testowe wymagane do uruchomienia scenariuszy testowych. Można także uwzględnić tworzenie lub generowanie realistycznych zestawów danych, które reprezentują różne scenariusze, profile użytkowników i woluminy danych. Upewnij się, że dane testowe są zróżnicowane i obejmują różne przypadki użycia w celu zapewnienia kompleksowej oceny wydajności.
Projektowanie skryptów testowych. Utwórz skrypty testowe, które automatyzują wykonywanie zdefiniowanych scenariuszy testowych. Skrypty testowe zazwyczaj składają się z sekwencji akcji, żądań HTTP lub interakcji z interfejsami API obciążenia lub interfejsami użytkownika. Do pisania skryptów użyj narzędzi do testowania wydajności lub języków programowania, biorąc pod uwagę czynniki, takie jak parametryzowanie, korelacja i dynamiczna obsługa danych. Zweryfikuj skrypty testowe pod kątem poprawności i funkcjonalności. Debuguj wszelkie problemy, takie jak błędy skryptów, brakujące lub nieprawidłowe akcje albo problemy związane z danymi. Weryfikacja skryptów testowych ma istotne znaczenie dla zapewnienia dokładnego i wiarygodnego wykonywania testów wydajności.
Skonfiguruj zmienne testowe i parametry. Skonfiguruj zmienne i parametry w skryptach testowych, aby wprowadzić zmienność i symulować scenariuszy ze świata rzeczywistego. Uwzględnij parametry, takie jak poświadczenia użytkownika, dane wejściowe lub randomizowanie, aby przypominały różne zachowania użytkowników i odpowiedzi w obciążeniach.
Iteracyjneudoskonalanie skryptów. Stale udoskonalaj i rozszerzaj skrypty testowe na podstawie opinii, wyników testów lub zmieniających się wymagań. Rozważ optymalizację logiki skryptów, parametryzowanie i obsługę błędów lub dodanie dodatkowej walidacji i punktów kontrolnych.
Konfigurowanie środowiska testowego
Konfigurowanie środowiska testowego odnosi się do procesu konfigurowania infrastruktury, oprogramowania i sieci, które są potrzebne do utworzenia środowiska bardzo przypominającego środowisko produkcyjne.
Aby skonfigurować środowisko testowe tak, aby zwiększyć wydajność, należy w procesie konfiguracji uwzględnić następujące kroki:
Dubluj swoje środowisko produkcyjne. Skonfiguruj środowisko testowe tak, aby blisko przypominało środowisko produkcyjne. Weź pod uwagę czynniki, takie jak ustawienia środowiska i region, ustawienia sieciowe, ustawienia zabezpieczeń, źródła danych i integracje. Celem jest upewnienie się, że wyniki testu wydajności reprezentują warunki ze świata rzeczywistego.
Rezerwy wystarczające zasoby. Przydziel odpowiednie zasoby, takie jak wydajność magazynu, do środowiska testowego. Upewnij się, że dostępne zasoby mogą obsługiwać oczekiwane obciążenie i zapewniać dokładne miary wydajności.
Replikowanie warunków sieciowych. Skonfiguruj ustawienia sieciowe w środowisku testowym w celu replikowania oczekiwanych warunków sieci podczas rzeczywistego wdrożenia obciążenia. Należy uwzględnić przepustowość, opóźnienie i protokoły sieciowe.
Instalowanie i konfigurowanie zależności. Zainstaluj aplikacje z AppSource i inne zależności, które są wymagane do poprawnego działania obciążenia. Obejmuje to skonfigurowanie usług innych firm przy użyciu oczekiwanych konfiguracji produkcyjnych.
Kompromis: Istnieją koszty związane z utrzymaniem oddzielnych środowisk testowych, przechowywaniem danych, używaniem narzędzi i uruchamianiem testów. Poznaj koszt testowania wydajności i znajdź sposób optymalizowania wydatków.
Ryzyko: Dane produkcyjne mogą zawierać informacje poufne. Bez niezawodnych strategii przetwarzania i maskowania istnieje ryzyko wycieku poufnych danych podczas testowania przy użyciu danych produkcyjnych.
Przeprowadzanie testów
Uruchom testy wydajności, korzystając z wybranego narzędzia do testowania. Testowanie obejmuje mierzenie i rejestrowanie metryk wydajności, monitorowanie stanu i rejestrowanie problemów związanych z wydajnością.
Monitoruj i zbieraj metryki wydajności, takie czas odpowiedzi danych, przepływność i inne odpowiednie wskaźniki.
Użyj zdefiniowanych scenariuszy testowych, aby umieścić obciążenie pod oczekiwanymi naciskami. Przeprowadzaj testy w różnych warunkach obciążenia. Na przykład użyj poziomów, takich jak normalny, szczytowy i odporności, do analizowania zachowania obciążenia w różnych scenariuszach.
Planując i przeprowadzając testy wydajnościowe, należy pamiętać, że w wielu przypadkach chmura wykorzystuje współdzieloną Microsoft infrastrukturę do hostowania zasobów użytkownika i zasobów należących do innych klientów. Ogranicz testy, aby uniknąć niezamierzonych konsekwencji.
Dokumentowanie wyników
Udokumentuj wyniki testów wydajności w sposób czytelny i spójny. W dokumentacji powinny być wyświetlane następujące informacje:
- Czy dane rozwiązanie spełnia cele wydajności dla każdego scenariusza
- Kiedy i jak uruchomiono każdy test
- Jaka wersję rozwiązania przetestowano
- Wszelkie błędy lub problemy, które wystąpiły podczas testu
- Wszystkie zmiany lub optymalizacje wprowadzone po teście
Analizowanie wyników
Analizowanie wyników testów obejmuje testy przeprowadzone na podstawie zebranych danych i metryk w celu uzyskania wglądu w wydajność obciążenia. Celem jest zidentyfikowanie problemów z wydajnością i użycie opinii w celu dostosowania priorytetów w zakresie projektowania aplikacji.
Poniższe akcje to kluczowe kroki analizowania wyników testów.
Przeglądanie metryk wydajności. Sprawdź metryki wydajności gromadzone podczas testowania wydajności, takie jak czas odpowiedzi, przepływność, wskaźniki błędów i opóźnienie sieci. Przeanalizuj te metryki, aby zrozumieć ogólną wydajność obciążenia.
Zidentyfikuj wąskie gardła. Oceń metryki wydajności w celu zidentyfikowania obszarów lub wąskich gardeł, w których wydajność jest nieefektywna. Ocena może objemować czas odpowiedzi, ograniczenia zasobów, problemy z bazami danych, opóźnienia sieci i limity skalowalności. Określenie głównych przyczyn tych wąskich gardeł pomaga w ustalaniu priorytetów wydajności.
Skoreluj metryki. Oceń relacje i korelacje między różnymi metrykami wydajności. Należy na przykład przeanalizować wpływ zwiększonego obciążenia lub wykorzystania zasobów na czasy odpowiedzi. Zrozumienie tych korelacji może dostarczyć cennych informacji na temat zachowania obciążenia w różnych warunkach. W tym celu należy szukać wzorców i trendów w danych dotyczących wydajności w czasie. Przeanalizuj wydajność przy różnych poziomach obciążenia lub w określonych okresach. Wykrywanie trendów może pomóc w identyfikowaniu odchyleń sezonowych, użycia w godzinach szczytu lub cyklicznych problemów z wydajnością.
Oceń kryteria akceptacji. Porównaj wyniki ponownego testu z wstępnie zdefiniowanymi kryteriami akceptacji i celami wydajności. Oceń, czy obciążenia spełniają wymagane standardy wydajności. Jeśli obciążenie nie spełnia kryteriów akceptacji, należy dokładniej sprawdzić i ulepszyć optymalizacje.
Iteruj i udoskonalaj analizę. W razie potrzeby dokonaj innych dostosowań i usprawnień. Użyj zebranych danych i metryk do diagnozowania określonych problemów z wydajnością. Diagnoza może obejmować śledzenie składników obciążenia, badanie plików dzienników, monitorowanie użycia zasobów lub analizowanie komunikatów o błędach. Zagłęb się w szczegóły danych, aby poznać przyczyny problemów z wydajnością.
Na podstawie analizy wyników testowych należy określić priorytety zidentyfikowanych problemów z wydajnością i wdrożyć niezbędne udoskonalenia. Udoskonalenia mogą obejmować optymalizowanie logiki, dostrojenie zapytań, poprawianie mechanizmów buforowania i optymalizowanie konfiguracji sieci.
Ustanawianie planów bazowych
Plan bazowy stanowi punkt odniesienia przy porównywaniu wyników wydajności w czasie. Plan bazowy powinien być znaczącymi migawkami wydajności obciążenia — nie trzeba używać wszystkich testów jako planu bazowego.
Weź pod uwagę cele obciążenia i udokumentuj migawki wydajności umożliwiające uczenie się w czasie i optymalizację. Użyj tych miar planów bazowych jako testów porównawczych w przyszłych testach wydajności i użyj ich do określenia wszelkich ulepszeń lub jakości.
Aby utworzyć plan bazowy do testowania wydajności i użyć go jako testów porównawczych w przyszłych testach wydajności, wykonaj następujące kroki:
Zidentyfikuj wskaźniki wydajności. Określ konkretne metryki wydajności, które mają być zmierzone i śledzone. Przykłady:
- Czas odpowiedzi lub jak szybko obciążenie odpowiada na żądania.
- Przeplywność lub liczba żądań przetwarzanych na jednostkę czasu.
- Wykorzystanie zasobów, takie jak użycie wydajności magazynu.
Rejestruj miarodajne pomiary. Zarejestruj metryki wydajności uzyskiwane podczas testu jako miary bazowe. Te miary reprezentują punkt początkowy, z którym są porównywane przyszłe testy wydajności.
Porównaj przyszłe testy. W kolejnych testach wydajności porównaj metryki wydajności z ustalonymi wartościami bazowymi i progami. To porównanie pozwala zidentyfikować wszelkie usprawnienia lub obniżenie wydajności.
Ciągłe testowanie
Ciągły testowanie obejmuje bieżące monitorowanie i precyzowanie testów. Ciągły test pomaga zachować spójny i dopuszczalny poziom wydajności. Obciążenie powinno zapewnić spójny i dopuszczalny poziom wydajności w stosunku do planu bazowego. W celu zapewnienia spójności wydajności w obrębie dopuszczalnych limitów wydajności należy dostroić wydajność w czasie.
Oto kilka kluczowych praktyk:
Ustaw limity degradacji. Zdefiniuj progi liczbowe określające dopuszczalny poziom obniżenia wydajności w czasie. Ustawiając te ograniczenia, można monitorować wydajność i otrzymywać alerty w przypadku, gdy wydajność spadnie poniżej zdefiniowanego progu.
Uwzględnij zapewnienie jakości. Wykorzystaj wymagania dotyczące wydajności, takie jak maksymalna liczba żądań na sekundę, w procesie zapewnienia jakości. Wymagania dotyczące wydajności są ważne tak samo jak wymagania funkcjonalności. Ten proces pomaga zagwarantować, że obciążenie spełnia zdefiniowane wymagania dotyczące wydajności przed wdrożeniem go w środowisku produkcyjnym.
Zautomatyzuj alerty. W środowiskach aktywnych szybkie wykrywanie i odpowiedzi mają decydujące znaczenie. Skonfiguruj zautomatyzowane systemy alertów, w których jako rolę odwołania może pełnić plan bazowy wydajności. W przypadku istotnych zmian w wydajności odpowiednie zespoły są natychmiast powiadamiane o tym.
Testowanie zmian. Niektóre problemy z wydajnością mogą pojawiać się tylko w ustawieniach na żywo. Zastosuj dokładną metodę testowania w przypadku proponowanych zmian. Użyj instrumentacji kodu, aby uzyskać szczegółowe informacje na temat charakterystyk wydajności aplikacji, takich jak „gorące” ścieżki. W tym testowaniu zagwarantowano, że wprowadzona zmiana nie przekracza dopuszczalnych ograniczeń.
Ułatwienia Power Platform
Wykonaj testy: Usługa Azure Pipelines umożliwia zintegrowanie testowania wydajności z potokiem ciągłej integracji/ciągłego wdrażania (ciągła integracja/ciągłe dostarczanie). W celu sprawdzenia poprawności wydajności i skalowalności aplikacji można wykorzystać testowanie obciążenia jako krok potoku.
Power Apps Test Engine to składnik w interfejsie wiersza Power Platform polecenia, którego można użyć do testowania autonomicznych aplikacji Power Apps kanwy.
Azure Test Plans to łatwe w użyciu, oparte na przeglądarce rozwiązanie do zarządzania testami, które zapewnia wszystkie możliwości wymagane do planowanego testowania ręcznego, testowania akceptacyjnego użytkowników, testowania eksploracyjnego i zbierania opinii od uczestników projektu.
Jeśli Twoje obciążenie obejmuje zasoby platformy Azure, w celu wykonania testów możesz użyć programu Azure Chaos Studio i Azure Load Testing.
Podczas projektowania deweloperzy mogą także używać usługi Power Apps Monitor do szybszego diagnozowania i rozwiązywania problemów oraz tworzenia bardziej niezawodnych aplikacji. Zapewnia głęboki wgląd w aplikację, rejestrując wszystkie kluczowe działania występujące w aplikacji podczas jej pracy. Narzędzie Power Apps Monitor zapewnia również lepsze zrozumienie sposobu działania zdarzeń i formuł zawartych w aplikacji, dzięki czemu można zwiększyć wydajność i zidentyfikować wszelkie błędy lub problemy.
Jeśli obciążenie obejmuje drugiego pilota Microsoft Copilot Studio , możesz użyć zestawu Power CAT Copilot Studio do skonfigurowania drugiego pilota i testów. Przeprowadzając indywidualne testy na interfejsach Copilot Studio API (Direct Line), odpowiedzi drugiego pilota są oceniane pod kątem oczekiwanych wyników.
Analizowanie wyników: Azure Monitor to kompleksowe rozwiązanie do monitorowania służące do zbierania, analizowania i reagowania na dane telemetryczne ze środowisk chmurowych i lokalnych. Application Insights to rozszerzenie usługi Azure Monitor, które udostępnia funkcje APM. Aplikacji Application Insights można używać do monitorowania podczas projektowania i testowania oraz w środowisku produkcyjnym.
Kompromis: Testowanie wymaga czasu i umiejętności do wykonania i może mieć wpływ na wydajność operacyjną.
Informacje pokrewne
- Zalecenia dotyczące testowania zabezpieczeń
- Zalecenia dotyczące projektowania strategii testowania niezawodności
Lista kontrolna efektywności wydajności
Zapoznaj się z kompletną zestawem zaleceń.