Testowanie wydajności serwisów WWW
- Paweł Szczepaniak,
- 09.12.2013
Zasada pracy w programie polega na stworzeniu scenariusza testu, następnie jego uruchomieniu i analizie wyników. Dla przykładu, mamy do przetestowania witrynę internetową sklepu z telefonami komórkowymi. Zakładamy określony ruch na poszczególnych podstronach serwisu – na stronę główną wchodzi 10000 użytkowników, po czym loguje się 100, a do zakupów przystępuje co czwarty. Możemy tak zaprojektować test, aby ustalić przesunięcie czasowe pomiędzy kolejnymi wejściami, logowaniami i zakupami użytkowników. Dzięki temu jesteśmy w stanie stworzyć warunki testowe bliskie rzeczywistym. Dla każdej testowanej podstrony serwisu otrzymujemy kompletne informacje w formie wykresu oraz liczbowe odnośnie do czasu odpowiedzi przy założonym poziomie obciążenia. Z tych informacji w prosty sposób określimy maksymalny akceptowalny poziom czasu odpowiedzi i poziom przesycenia, w którym serwis przestaje zachowywać się stabilnie.
Aby jeszcze bardziej zbliżyć się do rzeczywistych warunków pracy serwisu, w Apache Jmeter wprowadzono możliwość uruchomienia testów rozproszonych. Symulowanie obciążenia serwisu z jednej tylko maszyny ma swoje ograniczenia, nie można także przetestować docelowego systemu przy połączeniach z hostów o różnej szybkości łącza i jego wpływu na stabilność połączeń. Dlatego mamy możliwość skonfigurowania Apache Jmeter w architekturze typu master – slave. Serwer master zawiaduje całością testów i w nim definiujemy ich przebieg, do niego także spływają wszelkie informacje statystyczne. Serwery slave wykonują połączenia z testowanym systemem.
Testy z chmury
Podsumowanie testu na platformie Load Impact