Testowanie czasu odpowiedzi – jak mierzyć API?
Co to jest testowanie czasu reakcji?
Testowanie czasu reakcji mierzy czas potrzebny jednemu węzłowi systemu na udzielenie odpowiedzi na żądanie innego. Jest to czas potrzebny systemowi na osiągnięcie określonego sygnału wejściowego do zakończenia procesu. Na przykład masz API i chcesz dokładnie wiedzieć, ile czasu zajmuje jego wykonanie i zwrócenie danych w JSON. Czas odpowiedzi mierzy odpowiedź serwera na każdą pojedynczą transakcję lub zapytanie.
Czas odpowiedzi rozpoczyna się w momencie wysłania żądania przez użytkownika i kończy w momencie, gdy aplikacja stwierdza, że żądanie zostało zrealizowane.
Jak mierzyć czas reakcji?
Aby zmierzyć czas reakcji, możemy użyć narzędzi testowych, otaczając ważny proces biznesowy transakcjami początkowymi i końcowymi. Proces biznesowy może być akcją lub zestawem akcji, które użytkownicy wykonują w aplikacji w celu wykonania zadania biznesowego, np. zalogowania się do aplikacji lub zakupu książki w serwisie. Amazon.com

W przypadku tego samego procesu pomiaru czasu odpowiedzi dla interfejsu API odpowiedź będzie się nieznacznie różnić w zależności od narzędzia. Oto dlaczego
- Krok 1) Metoda obliczania metryk zbieranych przez każde narzędzie do testowania czasu odpowiedzi API
- Krok 2) Narzędzia Symuluj prędkość ładowania i przechwytywania, co może mieć wpływ na czas reakcji
- Krok 3) Dodatkowe elementy rejestrowane podczas monitorowania obciążeń użytkowników
- Krok 4) Metryki obliczeniowe gromadzone przez każde narzędzie wydłużają czas odpowiedzi ze względu na duże zużycie zasobów.
- Krok 5) Architektura obu narzędzi może się różnić
Rodzaje metryk reakcji
Metryki czasu reakcji | Wyjaśnienie |
---|---|
Średni czas reakcji | Średni czas odpowiedzi to średni czas potrzebny na każde żądanie podróży w obie strony. Średni czas odpowiedzi obejmuje czas ładowania HTML, CSS, XML, obrazów, JavaPliki skryptów itp. Dlatego średnia ulega obniżeniu, gdy w systemie znajdują się wolne komponenty. |
Szczytowy czas reakcji | Szczytowy czas reakcji pomaga nam znaleźć potencjalnie problematyczne komponenty. Pomaga nam to znaleźć wszelkie nieprawidłowości na stronie lub w systemie, w których określone żądanie nie zostało poprawnie obsłużone. Na przykład może zostać wykonane duże zapytanie do bazy danych, co może mieć wpływ na czas odpowiedzi. To zapytanie nie pozwala na załadowanie strony w żądanym czasie. |
Wskaźnik błędu | Współczynnik błędów to obliczenie matematyczne, które wyświetla procent żądań problematycznych w stosunku do wszystkich żądań. Ten procent zlicza wszystkie kody stanu HTTP wyświetlające błąd na serwerze. Zlicza także żądania, które przekroczyły limit czasu. |
Trzy ważne wartości czasu reakcji
Test czasu odpowiedzi ma dwie najważniejsze cechy:
- Średni czas odpowiedzi.
- Maksymalny czas odpowiedzi.
Pokazuje, jak długo użytkownik musi czekać, aż serwer odpowie na jego żądanie.
Poniżej przedstawiono kluczowe przykładowe wartości testu czasu reakcji
Czas odpowiedzi | Znaczenie |
---|---|
0.1 drugie | Jest to najbardziej preferowany czas reakcji. Jeśli czas reakcji wynosi 0.1, użytkownicy zawsze mają wrażenie, że aplikacja lub system reaguje natychmiast i nie odczuwają żadnych zakłóceń. |
1.0 drugie | Jest to definiowany jako maksymalny limit akceptowalnego czasu reakcji. Użytkownicy prawdopodobnie nie odczują żadnych zakłóceń, chociaż mogą doświadczyć pewnego opóźnienia. Czas reakcji dłuższy niż 1 sekunda może zakłócać działanie użytkownika. |
Sekundy 10 | Jest to maksymalny limit, po przekroczeniu którego czas reakcji przekracza dopuszczalny limit. Jednak w dzisiejszych czasach, jeśli czas odpowiedzi przekroczy 6 sekund, użytkownik opuści witrynę lub zamknie aplikację. |
Ogólnie rzecz biorąc, czas reakcji powinien być jak najkrótszy w przedziale 0.1 – 1 sekundy. Jednakże ludzie mogą dostosować wolniejsze czasy reakcji, ale nigdy nie będą zadowoleni z czasu reakcji dłuższego niż 2 sekundy. LessIm krótszy jest czas reakcji, tym większe zadowolenie klienta, niższe koszty i większe zadowolenie klienta.
Narzędzia do testowania czasu reakcji
Na rynku dostępnych jest wiele narzędzi do testowania czasu reakcji. Trzy najbardziej znane przykłady narzędzi do testowania czasu reakcji to:
1) JMeter
Apache JMeter to narzędzie do testowania obciążenia typu open source. Służy do pomiaru wydajności stron internetowych. To narzędzie do testowania obciążenia można wykorzystać w metodologii DevOps.
Cechy:
- JMeter umożliwia wykonanie testów obciążenia i wydajności dla różnych typów serwerów.
- To narzędzie do testowania obciążenia przechowuje plany testów w formacie XML, co pozwala użytkownikom generować plan testów za pomocą edytora tekstu.
- Narzędzie może służyć do wykonywania zautomatyzowanych i testy funkcjonalności aplikacji.
Download link: http://jmeter.apache.org/download_jmeter.cgi
2) Załaduj prowadnicę
Loadrunner firmy Micro Focus to szeroko stosowane narzędzie do testowania obciążenia. Jest to jedna z najlepszych alternatyw dla JMeter który oferuje przyjazny dla użytkownika interfejs monitorowania i analizy z kolorowymi wykresami i grafiką.
Cechy:
- Obsługuje ciągłe testowanie
- LoadRunner może efektywnie pracować w kilku środowiskach korporacyjnych
- Za pomocą Loadrunnera można uruchomić skrypt wieloprotokołowy
- Integracja z różnymi narzędziami programistycznymi, takimi jak visual Studio, Jenkins, Selenium, itp.
Download link: https://software.microfocus.com/en-us/products/loadrunner-load-testing/overview
Podsumowanie
- Czas odpowiedzi odnosi się do czasu potrzebnego jednemu węzłowi systemu na udzielenie odpowiedzi na żądanie innego.
- Średni czas odpowiedzi w test wydajności to średni czas potrzebny na realizację każdego żądania podróży w obie strony.
- Szczytowy czas reakcji pomaga nam określić, które komponenty są potencjalnie problematyczne.
- Współczynnik błędów to obliczenie matematyczne, które wyświetla procent żądań problematycznych.
- Trzy kluczowe wartości czasu reakcji to: 0.1 sekundy, 1.0 sekundy i 10 sekund.
- Trzy najczęściej używane narzędzia do testowania czasu reakcji to Jmetr, Loadrunner