Jmeter: Pierwsze kroki w testowaniu wydajności. Anna Kovalchuk 07.05.2014

Podobne dokumenty
Parametry wydajnościowe systemów internetowych. Tomasz Rak, KIA

Projektowanie i implementacja wysokowydajnych aplikacji w języku

Plan testów do Internetowego Serwisu Oferowania i Wyszukiwania Usług Transportowych

Wydajny Linux. Jakub Woźniak KN Sieci Komputerowych i Systemów Rozproszonych Tenesys

Fuzzing OWASP The OWASP Foundation Piotr Łaskawiec J2EE Developer/Pentester

FastReporter 2 OPROGRAMOWANIE DO KOŃCOWEGO PRZETWARZANIA DANYCH

Sprawa numer: BAK.WZP Warszawa, dnia 16 sierpnia 2016 r.

Galileo - encyklopedia internetowa Plan testów

Win Admin Replikator Instrukcja Obsługi

1. Opis. 2. Wymagania sprzętowe:

IO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Maciej Oleksy Zenon Matuszyk

Tom 6 Opis oprogramowania

Monitorowanie wydajność w bazie Oracle11g

Szkolenie: Testowanie wydajności (Performance Testing)

Win Admin Monitor Instrukcja Obsługi

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0

dziennik Instrukcja obsługi

Sposoby analizy i interpretacji statystyk strony WWW.

Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA

Zasady organizacji projektów informatycznych

Kurs Wizualizacja z WinCC SCADA - Zaawansowany. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410)

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

Modyfikacja algorytmów retransmisji protokołu TCP.

Przewodnik użytkownika (instrukcja) AutoMagicTest

Bezpieczeństwo aplikacji i urządzeń mobilnych w kontekście wymagań normy ISO/IEC oraz BS doświadczenia audytora

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

Pakiet dla Efektywności Energetycznej

Ciągłe dostarczanie oprogramowania : kompletny przewodnik / Eberhard Wolff. Gliwice, cop Spis treści

I Przedmiot Zamówienia:

Forte Zarządzanie Produkcją Instalacja i konfiguracja. Wersja B

Red Hat Network Satellite Server

Win Admin Replikator Instrukcja Obsługi

Usługa: Testowanie wydajności oprogramowania

Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania. Pomiary w inżynierii oprogramowania

Przewodnik użytkownika (instrukcja) AutoMagicTest

GoBiz System platforma współpracy marektingowej

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

INSTRUKCJA UZUPEŁNIAJĄCA DO CENTRAL DUPLEX ZE STEROWANIEM RD4

instrukcja INSTALACJI APi_proxy

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Zaawansowany WinCC SCADA. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1708)

Pracownia Informatyki Numeron Sp. z o.o Częstochowa ul. Wały Dwernickiego 117/121 tel. (34) fax. (34)

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

Bazy danych - ciągłość działania, spójność danych i disaster recovery. Daniel Polek-Pawlak Jarosław Zdebik

System Wniosków DWZ AGH

Testujemy dedykowanymi zasobami (ang. agile testers)

IO - Plan wdrożenia. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Zastosowanie darmowych rozwiązań do testów użyteczności aplikacji internetowych

HURTOWNIE DANYCH I BUSINESS INTELLIGENCE

Spis treści MONITOR PRACY... 4

Metody badań w naukach ekonomicznych

Testowanie oprogramowania. Piotr Ciskowski

Rubik s Manager - Plan testów

FORMULARZ OFERTOWY. 8. Społeczeństwo informacyjne zwiększanie innowacyjności gospodarki

Splunk w akcji. Radosław Żak-Brodalko Solutions Architect Linux Polska Sp. z o.o.

BMC Control-M Wybrane przypadki zastosowania

REUSPro SYSTEM MONITORUJĄCY ZUŻYTE MEDIA. REUS Polska Sp. z o.o. Naszą misją jest poprawianie. efektywności użytkowania energii

Small Business Server. Serwer HP + zestaw NOWS

FAQ: /PL Data: 14/06/2007 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-200

Sposób funkcjonowania

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7

MONITOROWANIE DOSTĘPNOŚCI USŁUG IT

G DATA TechPaper. Aktualizacja rozwiązań G DATA Business do wersji 14.1

Przypadki testowe. Spis treści. Plan testów. From Sęp. Wstęp. 2 Plan testów

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

Krok 2: Pierwsze uruchomienie

Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013

Overlord - Plan testów

Dokumentacja fillup - MS SQL

Interfejs do potwierdzania produkcji w SAP ze skanerem ELZAB

Brinet sp. z o.o. wyłączny przedstawiciel DrayTek w Polsce

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

whi te działania na dużych zbiorach danych Clementine Server

Instrukcja pobrania i instalacji wersji testowej Invest for Excel

WYDAJNOŚĆ I SKALOWALNOŚĆ

LANDINGI.COM. Case Study. Klient Landingi.com. Branża IT, marketing i PR. Okres realizacji od grudnia 2013 do chwili obecnej.

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

Instrukcja instalacji i konfiguracji aplikacji mobilnej SARAT

Zenoss. Monitorowanie nowoczesnej serwerowni

Analiza danych i data mining.

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

SysLoger. Instrukcja obsługi. maj 2018 dla wersji aplikacji (wersja dokumentu 2.5)

Przewodnik użytkownika (instrukcja) AutoMagicTest Spis treści

Instrukcja użytkownika. Aplikacja Smart Paczka DPD

System monitoringu jakości energii elektrycznej

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Asseco CCR Comprehensive Consolidated Reporting. asseco.pl

Sposoby zwiększania efektywności systemu Windows

Dlaczego testowanie jest ważne?

Szkolenie: JMeter w praktyce

SPECYFIKACJA WYMAGAŃ

Transkrypt:

Jmeter: Pierwsze kroki w testowaniu wydajności Anna Kovalchuk 07.05.2014

Plan 1. Wymagania i cele 2. Modelowanie obciążenia 3. Parametryzacja i korelacja scenariuszy 4. Analiza wyników

Help! My boss wants me to load test our web app! Klatka z video: http://youtu.be/bkorp55aqvg

Wydajność Stopień, w jaki system lub moduł, przy zadanych ograniczeniach, spełnia zamierzoną funkcjonalność odnośnie szybkości przetwarzania i przepustowości. [IEEE 610] Patrz także efektywność. Performance: The degree to which a system or component accomplishes its designated functions within given constraints regarding processing time and throughput rate. See also efficiency. http://testerzy.pl/slownik/wydajnosc

Efektywność Zdolność oprogramowania do zapewnienia odpowiedniego poziomu wydajności, relatywnie do ilości zużytych zasobów, w określonych warunkach. [ISO 9126] Zachowanie z czasem (Time behavior) Wykorzystanie zasobów (Resource behaviour) Efficiency: The capability of the software product to provide appropriate performance, relative to the amount of resources used under stated conditions. [ISO 9126] http://testerzy.pl/slownik/efektywnosc

Performance efficiency ISO 25010 : Wydajność w stosunku do ilości zasobów wykorzystywanych pod ustalonymi warunkami Zachowanie z czasem Wykorzystanie zasobów Zgodność The performance relative to the amount of resources used under stated conditions - Time Behaviour - Resource Utilisation - Compliance

Niezawodność ISO 25010 : stopień, w jakim system lub jego element wykonuje określone funkcje w określonych warunkach, w określonym okresie czasu. Stabilność Odporność na błędy Zdolność do przewrócenia stanu początkowego Zgodność Reliability - The degree to which a system or component performs specified functions under specified conditions for a specified period of time. - Maturity - Fault Tolerance - Recoverability - Compliance

Testowanie wydajności = Testowanie efektywności + Testowanie niezawodności *zależy od celów testowania

Przykład wymagań Przy obciążeniu do 100 jednocześnie pracujących klientów z systemem: średni czas odpowiedzi powinien wynosić nie więcej niż 2,5 sekundy.

Przykład wymagań Przy obciążeniu do 100 jednocześnie pracujących klientów z systemem: średni czas odpowiedzi powinien wynosić nie więcej niż 2,5 sekundy. liczba błędów nie powinna przekroczyć 1%

Przykład wymagań Przy obciążeniu do 100 jednocześnie pracujących klientów z systemem: średni czas odpowiedzi powinien wynosić nie więcej niż 2,5 sekundy. liczba błędów nie powinna przekroczyć 1% rozrzut (dyspersja) nie przekracza 5%

Przykład wymagań Przy obciążeniu do 100 transakcji na sekundę typu «ping» i 10 transakcji na sekundę typu «akcja»: średni czas odpowiedzi powinien wynosić nie więcej niż 2,5 sekundy. liczba błędów nie powinna przekroczyć 1% rozrzut (dyspersja) nie przekracza 5%

Przykład wymagań Przy obciążeniu do 100 transakcji na sekundę typu «ping» i 10 transakcji na sekundę typu «akcja»: średni czas odpowiedzi dla transakcji typu «akcja» powinien być nie więcej niż 2,5 sekundy, a na typu «ping» 1 sekunda liczba błędów nie powinna przekroczyć 1% rozrzut (dyspersja) nie przekracza 5%

Przykład wymagań Przy obciążeniu do 100 transakcji na sekundę typu «ping» i 10 transakcji na sekundę typu «akcja»: średni czas odpowiedzi dla transakcji typu «akcja» powinien być nie więcej niż 2,5 sekundy, a na typu «ping» 1 sekunda liczba błędów nie powinna przekroczyć 1% rozrzut (dyspersja) nie przekracza 5% Serwer aplikacji powinien zużywać nie więcej niż 75% CPU i nie więcej niż 2,2 GB pamięci RAM

Przykład wymagań Przy obciążeniu do 100 transakcji na sekundę typu «ping» i 10 transakcji na sekundę typu «akcja»: średni czas odpowiedzi dla transakcji typu «akcja» powinien być nie więcej niż 2,5 sekundy, a na typu «ping» 1 sekunda liczba błędów nie powinna przekroczyć 1% rozrzut (dyspersja) nie przekracza 5% Serwer aplikacji powinien zużywać nie więcej niż 75% CPU i nie więcej niż 2,2 GB pamięci RAM System powinien nawiązywać nie więcej niż trzy połączenia jednocześnie z DBMS

Jakie wymagania są lepsze? Szczegółowe? VS Nieformalne i rozmyte? Przy obciążeniu do 100 transakcji na sekundę typu «ping» i 10 transakcji na sekundę typu «akcja»: średni czas odpowiedzi dla transakcji typu «akcja» powinien być nie więcej niż 2,5 sekundy, a na typu «ping» 1 sekunda liczba błędów nie powinna przekroczyć 1% rozrzut (dyspersja) nie przekracza 5% Serwer aplikacji powinien zużywać nie więcej niż 75% CPU i nie więcej niż 2,2 GB pamięci RAM System powinien nawiązywać nie więcej niż trzy połączenia jednocześnie z DBMS Przy obciążeniu do 100 jednocześnie pracujących klientów z systemem: średni czas odpowiedzi powinien wynosić nie więcej niż 2,5 sekundy.

Cel testowania Sprawdzenie zgodności z wymaganiami

Przykład wymagań Przy obciążeniu do 100 transakcji na sekundę typu «ping» i 10 transakcji na sekundę typu «akcja»: średni czas odpowiedzi dla transakcji typu «akcja» powinien być nie więcej niż 2,5 sekundy, a na typu «ping» 1 sekunda liczba błędów nie powinna przekroczyć 1% rozrzut (dyspersja) nie przekracza 5% Serwer aplikacji powinien zużywać nie więcej niż 75% CPU i nie więcej niż 2,2 GB pamięci RAM System powinien nawiązywać nie więcej niż trzy połączenia jednocześnie z DBMS

Cel testowania Sprawdzenie zgodności z wymaganiami Uzyskać informacje na temat wydajności i dostarczyć zainteresowanym stronom, aby mogły one wykorzystać je do podejmowania decyzji

Cele testowania Wykorzystanie otrzymanej informacji 1. Sprawdzenie zgodności z wymaganiami 2. Porównanie różnych wersji i konfiguracji systemu 3. Identyfikowanie wąskich miejsc (bottlenecks)

Informacja Statyczna VS Dynamiczna Odsetek blędów przy stałym obciążeniu 100 transakcji na sekundę Zużycie pamięci RAM w ustalonym obciążeniu 100 transakcji na sekundę Zależność Ilości błędów od obciążenia Zależność Zużycia RAM od obciążenia

Jakie wymagania są lepsze? Szczegółowe? VS Nieformalne i rozmyte?

Dynamiczna informacja

Trzy bazowe komponenty Generacja obciążenia Monitorowanie charakterystyk wydajności Analiza wyników

Narzędzia dla generowania obciązenia JMeter http://jmeter.apache.org/ grinder http://grinder.sourceforge.net/ multi-mechanize http://testutils.org/multimechanize/ Gatling http://gatling-tool.org/ Tsung http://tsung.erlang-projects.org/ loadui http://www.loadui.org/ curl-loader http://curl-loader.sourceforge.net/

Z chmur BlazeMeter http://blazemeter.com/ Blitz https://www.blitz.io/ Load Impact http://loadimpact.com/ LoadStorm http://loadstorm.com/ SOASTA http://www.soasta.com/

Monitoring Wbudowane narzędzia Narzędzia systemu operacyjnego (Perfmon, SAR) Narzędzia serwerowe, DBMS,... Narzędzia specjalistyczne (Zabbix, Nagios, Hyperic)

Analiza wyników Wbudowane narzędzia Arkusze kalkulacyjne Pakiety dla przetwarzania danych statystycznych

Praktyczna demonstracja

Zadanie Zapisać rekorderem scenariusz dodawania grup Ustawić grupę wątków dla 50 użytkowników i czas trwania testu 180 sec Monitorować zmiany średniego czasu reakcji (response time) z czasem w Graph Result

Plan 1. Wymagania i cele 2. Modelowanie obciążenia 3. Parametryzacja i korelacja scenariuszy 4. Analiza wyników

Model obciążenia Ile i jakich akcji(działań) na system ma być na system w jednostkę czasu Log file Dane historyczne http://www.symplur.com/blog/dayofdiabetes-shared-in-real-time/

Słownik pojęć Profil - zbiór scenariuszy, danych testowych, i opis sposobu uruchomienia scenariuszy Scenariusz sekwencją zapytań, rozdzielonych czasowymi odstępami Zapytanie jednostka interakcji pomiędzy systemem testującym i testowanym systemem

Zależność od czasu Zależność od czasu akcji (dla każdego rodzaju zapytań) stała zmienna

Rodzaj oddziaływań Osobne zapytania Testowanie zorientowane na kliknięcia (hit-oriented testing) Scenariusz (kolejność wniosków) Testowanie zorientowane na scenariusze (scenario-oriented testing)

Przykład zorientowany na hity Osobne akcje Przeglądanie listy grup (2) Otwieranie strony z formularzem (1) Wysłanie wypełnionego formularza (1)

Przykład modelu obciążenia Stałe obciążenie wirtualnych użytkowników lub transakcji Cel: uzyskać informacje o zachowaniu systemu

Praktyczna demonstracja

Praktyczna demonstracja Zmodyfikować przykład 1 a) Ustawić 100 wątków, mają oni być uruchomione po kolei za 1 minutę i obciążenie generowanie przez 10 min b) Ustawić stałe obciążenie 2 zapytania na sekundę w ciągu 10 min

Przykład modelu obciążenia Stale zwiększa obciążenie Cel: Aby wyszukać punkt nasycenia

Praktyczna demonstracja

Praktyczna demonstracja Zmodyfikować przykład 1 Ustawić 600 wątków, mają oni rosnąć z czasem od 0 do 600 i obciążenie generowanie przez 10 min

Przykład modelu obciążenia Stałe obciążenie bliskie do granicznego Cel: Aby sprawdzić stabilność

Praktyczna demonstracja Zmodyfikować przykład 1 Ustawić obciążenie na 10% mniej od krytycznego i testować przez 10 min

Praktyczna demonstracja

Przykład modelu obciążenia Obciążenie z "seriami" Cel: Aby sprawdzić stabilność Plugin Throughput Shaping Timer

Plan 1. Wymagania i cele 2. Modelowanie obciążenia 3. Parametryzacja i korelacja scenariuszy 4. Analiza wyników

Parametryzacja Opcje konfiguracyjne Dane testowe Generowanie danych losowych Dane z tabeli (pliku zewnętrznego)

Praktyczna demonstracja

Korelacja Przekazywanie danych z odpowiedzi na poprzednie zapytanie do jednego z następnych zapytań wyodrębnienie danych z wyniku zapytania wykorzystanie wyodrębnionych danych

Praktyczna demonstracja

Plan 1. Wymagania i cele 2. Modelowanie obciążenia 3. Parametryzacja i korelacja scenariuszy 4. Analiza wyników

To jest testowanie! Problem może być znaleziono lub nie znaleziono zebranych danych nie jest wystarczająco niepoprawna metoda analizy może być że w ogóle nie tego szukaliśmy Nie można udowodnić brak defektów eksperyment pokazuje coś ale mogą istnieć różne interpretacje

Примеры проблем большое время отклика большое количество отказов высокое потребление ресурсов большой разброс значений отдельные значительные отклонения

Przykłady problemów Duży czas reakcji Duża liczba błędów Wysokie zużycie zasobów duży zakres wartości niektóre znaczące odchylenia

brak zasobów Źródło problemów nieoptymalne algorytmy niewłaściwe zbalansowanie niewłaściwe keszowanie niewłaściwa synchronizacja (blokowanie) niewłaściwe zarządzanie kolejką defekty funkcjonalne

Analiza jakościowa Przegląd ręczny danych surowych Budowanie wykresów Szukanie wzorców Szukanie trendy Szukanie anomalie

Analiza ilościowa Średnie jednakowe Gdzie lepsza wydajność

Błędy pierwszego i drugiego rodzaju Fałszywo-pozytywny wynik ma objawy defektu, ale w rzeczywistości nie ma defektu, ale objawy są spowodowane przez coś innego Fałszywo-niegatywny wynik objawy defektu nie pojawiają się lub nie są zauważone, ale w rzeczywistości jest defekt.

Raport Aktualny Trafny (Relevant) Zrozumiały Samowystarczalny Opierający się na danych

Dane żródłowe Nie zapomnij, aby wskazać: kiedy uzyskane dane jakie testy były uruchomione w jaką konfiguracją były uruchomione

Trzeba pamiętać że Dane liczbowe dostarczone w dużej ilości są ciężkie do zrozumienia Ludzie źle znają matematykę Ludzie nie mają intuicyjnego rozumienia zjawisk statystycznych Błędna interpretacja danych prowadzi do błędnych wniosków

Dobry raport zawiera Porównanie czegoś z czymś Jest oczywiste, co jest lepsze a co gorsze Zawiera ustne wyjaśnienia Skala wykresów dobrana odpowiednio Łączy obserwację z celami Zawiera linki do danych źródłowych

Narzędzia Wbuwane pluginy w Jmeter Excel Loadosophia RapidMiner

Przykład analizy

Literatura 1. Jmeter user manual i wiki 2. Apache Jmeter. Emily H. Halili 3. Web Load testing for dummies 4. Performance Testing Guidance for Web Applications (Microsoft) 5. The Art of Application Performance Testing By Ian Molyneaux 6. Data Mining for the Masses by Dr. Matthew A North (Author)

Dropbox link http://goo.gl/lovv18

Pytania?

Dziękuję za uwagę