• Czas czytania ~8 min
  • 19.06.2023

Jeśli chodzi o testowanie API, być może zastanawiałeś się nad niektórymi lub wszystkimi z tych pytań:

  • Jak moje interfejsy API będą działać w rzeczywistych sytuacjach?

  • Jak zmieni się czas odpowiedzi, gdy wielu użytkowników wysyła żądania w tym samym czasie?

  • Czy moi użytkownicy zobaczą akceptowalne czasy reakcji, gdy mój system jest obciążony, czy też zobaczą błędy?

  • Jak zidentyfikować wąskie gardła wydajności, które mogą stać się poważnymi problemami produkcyjnymi?

Jeśli tak, prawdopodobnie zdasz sobie sprawę, że w miarę skalowania wydajność interfejsu API wpływa na sukces Twoich produktów i firmy.

Aby rozwiązać powyższe problemy, niedawno uruchomiliśmy wczesny dostęp do ekscytującej nowej funkcji testowania wydajności API firmy Postman. Przeczytaj więcej o tym, co i dlaczego kryje się za tą przełomową aktualizacją platformy Postman API w tym poście na blogu wczesnego dostępu.

Dzisiaj z przyjemnością ogłaszamy ogólną dostępność testów wydajności API za pomocą Postman.

Wprowadzenie testów wydajności interfejsu API w programie Postman z poziomu testowania wydajności interfejsu

API maszyny polega na symulowaniu ruchu w świecie rzeczywistym i obserwowaniu wynikającego z tego zachowania interfejsu API. Jest on przeprowadzany w celu oceny, w jakim stopniu interfejs API spełnia oczekiwania dotyczące wydajności w zakresie czasu odpowiedzi, przepływności i dostępności w ramach symulowanego obciążenia.

Testowanie wydajności interfejsu API może pomóc:Upewnij się, że interfejs API obsługuje oczekiwane obciążenie i sprawdź,

  1. jak interfejs API reaguje na zmiany obciążenia (obciążenie to liczba równoległych użytkowników uderzających w interfejsy API w tym samym czasie).

  2. Zoptymalizuj i popraw wydajność interfejsu API, aby zapewnić lepsze wrażenia użytkownika.

  3. Zidentyfikuj wszelkie wąskie gardła, opóźnienia i awarie oraz określ skalowalność systemu.

Postman ma teraz wbudowane funkcje testowania wydajności interfejsu API z istniejącymi kolekcjami i żądaniami usługi Postman. Istnieją dwie podstawowe funkcje, które omówimy w tym poście:

  1. Używanie Postmana do symulowania obciążenia poprzez uderzenie wielu równoległych użytkowników wirtualnych w punkty końcowe.

  2. Wizualizacja wydajności interfejsów API pod symulowanym obciążeniem w czasie rzeczywistym. Pokażemy Ci, jak obserwować czasy odpowiedzi, przepływność (żądania trafione na sekundę) i wskaźniki błędów, abyś mógł mieć oko na metryki wydajności interfejsu API.

Jak używać programu Postman do testowania

wydajności interfejsu API Możesz użyć programu Postman's Collection Runner, aby skonfigurować test wydajności w programie Postman, wykonując następujące kroki:Krok 1: Wybierz kolekcję, wybierz środowisko (opcjonalnie) i kliknij Uruchom:

 Jeśli nie masz kolekcji, przeczytaj więcej o tym, jak szybko ją utworzyć w Postman.

Pamiętaj, że Postman wykona również wszystkie skrypty wstępnego żądania i testowe wraz z żądaniami.

Krok 2: Wybierz kartę Wydajność pod Runner, określ ustawienia obciążenia i kliknij Uruchom:

Krok 3: Obserwuj czasy odpowiedzi i wskaźnik błędów w czasie rzeczywistym: 

Możesz przełączać legendę, aby wyświetlić żądania na sekundę.

Krok 4: Po zakończeniu biegu obserwuj i identyfikuj wąskie gardła w czasach odpowiedzi i żądaniach na sekundę:

Jak skonfigurować obciążenie, aby symulować ruch

w świecie rzeczywistym Możesz teraz używać Collection Runner do symulowania ruchu w świecie rzeczywistym. Będziesz mógł określić następujące dane wejściowe w celu symulacji stanu obciążenia:

  • Użytkownicy wirtualni (VU): Maksymalna liczba równoległych użytkowników, których chcesz symulować.

  • Czas trwania badania: Czas (w minutach), przez który chcesz uruchomić test.

  • Profil obciążenia: Intensywność obciążenia w czasie trwania badania. Obecnie obsługujemy dwa profile obciążenia:"Stały" profil obciążenia: Spowoduje to zastosowanie stałej liczby użytkowników wirtualnych przez cały czas trwania testu:


    1. Profil obciążenia "Ramp up": Spowoduje to powolne zwiększanie liczby użytkowników wirtualnych podczas "czasu rozruchu", aby osiągnąć określone obciążenie. Po osiągnięciu tej liczby liczba użytkowników wirtualnych zostanie utrzymana przez pozostały okres:

Jak użytkownicy wirtualni pomagają symulować obciążenie przepływów pracy interfejsu API Użytkownicy

wirtualni to użytkownicy równoległi, którzy będą jednocześnie wpływać na interfejsy API. Każdy użytkownik wirtualny wykonuje wybraną sekwencję żądań w kolekcji w kolejności seryjnej, jak przedstawiono w programie Collection Runner. Wielu użytkowników wirtualnych uruchomi tę sekwencję równolegle, tworząc obciążenie przepływów pracy interfejsu API. Na przykład żądanie logowania, po którym następuje żądanie dodania do koszyka i żądanie realizacji zakupu, reprezentuje przepływ pracy, a każdy użytkownik wirtualny będzie działał przez ten przepływ pracy. Jeśli chcesz przetestować interfejsy API w izolacji, zalecamy przetestowanie pojedynczego żądania naraz.

Należy pamiętać, że ponieważ użytkownicy wirtualni są symulowani lokalnie, istnieje limit liczb, które można symulować bez napotkania pamięci lub innych problemów. Dowiedz się więcej, czytając dokumentację w Centrum edukacji.

Oferujemy do 100 bezpłatnych wirtualnych użytkowników w naszym bezpłatnym abonamencie. Możesz przejść na płatny plan do testowania z większą liczbą użytkowników wirtualnych.

Ostatecznym celem testów wydajności interfejsów API jest zapewnienie, że użytkownicy końcowi będą mogli korzystać z dostarczanych interfejsów API. W związku z tym typ ruchu wybranego do symulacji podczas testowania będzie zależał od rodzaju sytuacji, które mają być obsługiwane przez interfejsy API w środowisku produkcyjnym.

Wizualizacja metryk testu

wydajności Jak tylko rozpocznie się test wydajności, będziesz mógł wizualizować i obserwować wydajność swoich interfejsów API. Postman pokaże następujące dane w czasie rzeczywistym:Average response time:

  1. Jest to średnia czasów odpowiedzi otrzymanych dla wielu równoległych użytkowników wirtualnych w różnych żądaniach.

  2. Żądania na sekundę: Metryka żądań na sekundę (przepływność) pomaga obserwować, ile żądań może być obsługiwanych przez interfejs API na sekundę. Każdy użytkownik wirtualny stale uderza w punkty końcowe, a w zależności od czasów odpowiedzi każdy użytkownik wirtualny może wysłać wiele żądań w ciągu sekundy. Na przykład skonfigurowanie 10 użytkowników wirtualnych w celu przetestowania żądania GET, na które ma odpowiedzieć w ciągu ~200 ms, może w najlepszym razie wygenerować 50 żądań na sekundę. Jednak realistyczna liczba żądań na sekundę będzie zależeć od czasu odpowiedzi interfejsu API i innych czynników, takich jak użycie skryptów wstępnego żądania lub testowych.

  3. Poziom błędu: Ten wskaźnik wskazuje ułamek żądań, które otrzymują odpowiedź inną niż 2XX lub napotykają błędy inne niż HTTP podczas wysyłania żądania.

Pamiętaj, że wszystkie powyższe dane są zmienne we wszystkich wybranych żądaniach. Postman agreguje dane w krótkich interwałach. Kolejne metryki z kolejnych interwałów czasu są umieszczane razem, co ułatwia wizualizację zmian tych danych w czasie.

Rozwiązywanie problemów z błędami w przebiegach

testów wydajności Gdy testy wydajności wskazują na podwyższone wskaźniki błędów i chcesz dowiedzieć się więcej, możesz po prostu najechać kursorem na punkt zainteresowania i zobaczyć, co powoduje skok. Pomaga to zidentyfikować przyczynę błędu i dalej rozwiązywać problem, jak pokazano poniżej:Po zakończeniu uruchamiania możesz również kliknąć kartę Błędy, aby wyświetlić szczegółowy trend podziału wskaźnika błędów:


Chcielibyśmy wyrazić wielkie uznanie dla naszej entuzjastycznej społeczności wczesnych użytkowników, którzy wypróbowali produkt w naszym kanarkowym wydaniu i przekazali nam opinie, które doprowadziły do tej poprawy!

Przechodzenie do szczegółów metryk według żądania Szczegółowe informacje na temat żądania

umożliwiają przechodzenie do szczegółów każdego żądania, które zostało wykonane przez wielu użytkowników wirtualnych. Pomaga to określić, które żądanie mogło przyczynić się do skoku w średnim czasie odpowiedzi przemiennej, umożliwiając rozwiązanie problemu.

Możesz również wizualizować metryki wydajności poszczególnych żądań, wybierając żądane żądanie w dostępnym filtrze:Wyświetlanie wcześniejszych przebiegów testów wydajności Możesz wyświetlić listę wcześniejszych przebiegów

testów wydajności dla kolekcji, jak pokazano poniżej:

You hope that that this new feature you easier to test performance of your API and make API performance testing part of your development lifecycles. Naszym celem w Postman jest demokratyzacja testów wydajności API dla wszystkich programistów i testerów API na świecie, tak jak zrobiliśmy to w przypadku testów funkcjonalnych API kilka lat temu.

Więcej informacji na temat testowania wydajności interfejsu API można znaleźć w naszym Centrum edukacji. Zapewniamy do 25 testów wydajności za darmo co miesiąc w naszym bezpłatnym abonamencie! Możesz przejść na płatny plan, aby uzyskać większe użycie. Dowiedz się więcej o naszych różnych planach tutaj.

Możesz zaplanować spotkanie z menedżerem produktu, aby dowiedzieć się więcej o tej funkcji lub szczegółowo omówić swoją opinię.

Wypróbuj Postmana teraz

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297