testy wydajnościowe - najlepsze praktyki - kuba gajda

Download Testy wydajnościowe - najlepsze praktyki - Kuba Gajda

If you can't read please download the document

Upload: bartlomiej-cymanowski

Post on 13-Aug-2015

7.593 views

Category:

Education


0 download

TRANSCRIPT

  1. 1. Performance TestsPerformance Tests Najlepsze praktykiNajlepsze praktyki
  2. 2. Najwiksze wpadkiNajwiksze wpadki wydajnociowe w Polscewydajnociowe w Polsce w 2014w 2014 System PKW Wybory Samorzdowe 2014
  3. 3. Gwne wyzwania/pytaniaGwne wyzwania/pytania Jak mierzy wydajno ? Gdzie zmierzy wydajno ? Czym zmierzy wydajno ? Kto powinien przeprowadza testy wydajnoci ? Kto powinien interpetowa wyniki testw ? Jak skalowa wyniki testw ?
  4. 4. Rodzaje testwRodzaje testw Load Testing Stress Testing Testy wolumenowe Testy komponentw Badaj zachowanie aplikacji podczas normalnej eksploatacji Wykrywaj granicy wydajnociow aplikacji Okrelj iloci uytkownikw/danych przy ktrej pracuje stabilnie Badaj zachowanie poszczeglnych warstw aplikacji
  5. 5. Czas odpowiedzi Jaki jest czas odpowiedzi ? Jak stabilny jest system ? Jaka konfiguracja jest najlepsza ? W jakim momencie aplikacja zaczyna zwalnia ? Jaki jest powd bottlenecka ? Czy nowa wersja aplikacji ma wpyw na czasy odpowiedzi ? Jaki jest najlepszy sprzt dla aplikacji ? Gwne cele testwGwne cele testw wydajnociowychwydajnociowych Stabilno Konfiguracj Pojemno Identyfikacja wskich garde Porwnanie Skalowanie sprztu
  6. 6. Jak mierzy wydajno ?Jak mierzy wydajno ? TRANSAKCJETRANSAKCJE MIARY TECHNICZNEMIARY TECHNICZNE (Liczniki)(Liczniki)
  7. 7. TransakcjaTransakcja Jest to zmiana stanu aplikcji Jest to sekwencja krokw w przypadku testowym Numer kroku Krok Oczekiwany rezultat 1 W pole login wpisz login Pole zostao wypenione 2 W pole haso wpisz haso Pole zostao wypenione 3 Wcisnij Przycisk zaloguj Widzimy Ekran powitania zalogowanego uytkownika
  8. 8. Przykad transakcjiPrzykad transakcji Zaloguj Podaj Login Kuba Podaj Haso *************** ZalogujZaloguj Witaj Jakub
  9. 9. Przykad transakcjiPrzykad transakcji Zaloguj Podaj Login Kuba Podaj Haso *************** ZalogujZaloguj Witaj Jakub Transaction TimeTransaction Time User TimeUser Time
  10. 10. Miary techniczneMiary techniczne (Liczniki)(Liczniki) Zuycie zasobw systemowych (CPU, Pami, Dyski, Ilo procesw oczekujcych, Context Switch ) Zuycie zasobw serwerw aplikacyjnych (mechanizmy GC, zuycie przestrzeni pamici w JVM, pule pocze do bazy danych .)
  11. 11. Monitorowanie a ProfilowanieMonitorowanie a Profilowanie MonitorowanieMonitorowanie Jest metod badania nie inwazyjn dla systemu ProfilowanieProfilowanie Jest metod badania inwazyjn dla systemu
  12. 12. Czym monitorowa miaryCzym monitorowa miary techniczne ?techniczne ?
  13. 13. Czym profilowa ?Czym profilowa ? Diagnostic Server
  14. 14. Czym profilowa ?Czym profilowa ? Visual JVM
  15. 15. Gdzie mierzy wydajno ?Gdzie mierzy wydajno ?
  16. 16. rodowisko do testwrodowisko do testw wydajnociowychwydajnociowych Musi by zblione architektur do rodowiska produkcyjnego Musi posiada identyczne iloci danych w bazach jak na systemie produkcyjnym Musi posiada wsparcie i obsug administratorw Musi by STABILNE !!!!STABILNE !!!!
  17. 17. Architektura wzorzecArchitektura wzorzec ProdukcjaProdukcja TestyTesty Linux Red Hat Sun Solaris WebSphere Application Server Enterprice Service Bus Linux Red Hat Oracle Database 11 8 GB 4 CPU 8 GB 8 CPU 8 GB 16 CPU Linux Red Hat Sun Solaris WebSphere Application Server Enterprice Service Bus Linux Red Hat Oracle Database 11 8 GB 4 CPU 8 GB 8 CPU 8 GB 16 CPU
  18. 18. Linux Red Hat Sun Solaris Architektura antywzorzecArchitektura antywzorzec WebSphere Application Server Enterprice Service Bus Linux Red Hat Oracle Database 11 ProdukcjaProdukcja Windows JBoss Oracle XE TestyTesty MockUp 8 GB 4 CPU 8 GB 8 CPU 8 GB 16 CPU 2 GB 4 CPU
  19. 19. Architektura dobra praktykaArchitektura dobra praktyka Linux Red Hat Sun Solaris WebSphere Application Server Enterprice Service Bus Linux Red Hat Oracle Database 11 8 GB 4 CPU 8 GB 8 CPU 8 GB 16 CPU Linux Linux WebSphere Application Server Enterprice Service Bus Linux Oracle Database 11 8 GB 4 CPU 4 GB 4 CPU 4 GB 4 CPU ProdukcjaProdukcja TestyTesty
  20. 20. Wsparcie rodowiskaWsparcie rodowiska Obowizki podczas testw: Monitoring zasobw Profilowanie rodowiska Restarty rodowiska Przebudowa i informowanie o zmianach
  21. 21. Stabilne rodowiskoStabilne rodowisko Cechy stabilnego rodowiska: Znamy liczb uytkownikw jak to rodowisko jest wstanie wytrzyma rodowiska dziaa zgodnie z umow SLA
  22. 22. Jak zbada stabilnoJak zbada stabilno rodowiska ?rodowiska ? Pre-Testy Scenariusz 1 chcemy aby przez 1 godzin wykonao si 10000 tys. transakcji IloTransakcji Kolejne pre-Testy 1 2 3 4 5 6 300 VUserw 250 VUserw 200 VUserw 200 VUserw 180 VUserw 150 VUserw 7 150 VUserw 3
  23. 23. Czym testowa ?Czym testowa ?
  24. 24. Testerzy Load Generation System Under Test Czy mam takie zasoby ? Ludzie Komputery Jak synchronizowa testerw? Jak zbiera i analizowa ? Jak zrobi potwarzalny test? Analiza? 123.20 Wciskamy Zapisz !! ! Dawno dawno temu ..Dawno dawno temu .. Web server Database server Koordynator
  25. 25. Dobre, uywane i za darmoDobre, uywane i za darmo Zalety: 1. Jest darmowy 2. Dodatkowe pluginy 3. Moliwo testowania Usug SOAP/REST 4. Wykorzystanie XSLT do raportw Wady: 1. Serwisowanie skryptw 2. Zuycie pamici
  26. 26. Bardzo dobre uywane i nie zaBardzo dobre uywane i nie za darmodarmo Zalety: 1. Obsuga wielu technologii 2. Gotowy monitoring 3. Moliwo programowanie automatw Wady: 1. Cena 2. System licencyjny
  27. 27. Bardzo dobre uywane i nie zaBardzo dobre uywane i nie za darmodarmo Zalety: 1. Obsuga wielu technologii 2. Gotowy monitoring 3. Obsuga usug REST/SOAP 4. Obsuga wielu jzykw Wady: 1. Cena 2. System licencyjny
  28. 28. Nowy, za darmo z przyszociNowy, za darmo z przyszoci Zalety: 1. Obsuga jzyka Scala 2. Raportowanie Wady: 1. Brak wsparcia Load Balancerw 2. Wsparcie tylko systemw WWW
  29. 29. Narzdzie do testw usugNarzdzie do testw usug SOAP/RESTSOAP/REST Zalety: Testowanie usug REST/SOAP Prosty interfejs Obuga jzyka groovy atwe zarzdzanie zmian Wady: Brak
  30. 30. Jak interpretowa wyniki oraz jakJak interpretowa wyniki oraz jak je skalowa ?je skalowa ?
  31. 31. Test referencyjny/TestTest referencyjny/Test porwnawczyporwnawczy MetodaMetoda TR/TPTR/TP
  32. 32. Ilo transakcji IloTransakcji Kolejne Testy 1 2 3 4 5 6 Test referencyjny 1 01-2014 Test referencyjny 2 01-2014 Test referencyjny 3 01-2014 Trend Test powtrkowy 1 01-2014 Test powtrkowy 2 01-2014 Test powtrkowy 3 01-2014 Przykad 1Przykad 1 Ilo transakcji IloTransakcji Kolejne Testy 1 2 3 4 5 6 Test referencyjny 1 01-2014 Test referencyjny 2 01-2014 Test referencyjny 3 01-2014 Trend Test powtrkowy 1 01-2014 Test powtrkowy 2 01-2014 Test powtrkowy 3 01-2014
  33. 33. Zuycie CPU [%]Zuycia Kolejne Testy 1 2 3 4 5 6 Test referencyjny 1 01-2014 Test referencyjny 2 01-2014 Test referencyjny 3 01-2014 Trend Test powtrkowy 1 01-2014 Test powtrkowy 2 01-2014 Test powtrkowy 3 01-2014 Przykad 2Przykad 2
  34. 34. Na jakich statystykach oprzeNa jakich statystykach oprze trend ?trend ?
  35. 35. Statystyki biznesoweStatystyki biznesowe Performance/RepeatabilityPerformance/Repeatability - Czas odpowiedzi transakcji [s] AvailabilityAvailability - Ilo transakcji na sekund Stability ilo bdw (time-out, niezkoczone transakcje) [il] Capacity ilo wykonanych transakcji [il]
  36. 36. Kto powinienKto powinien przeprowadza testy ?przeprowadza testy ?
  37. 37. Tester wydajnociTester wydajnoci Powinien zna bardzo dobrze narzdzia do testw wydajnociowych Powinien zna bardzo dobrze architektur systemu Powinien opanowa sztuk monitoringu Powinien by w kontakcie z administratorami jak i programistami
  38. 38. Kto powinien interpetowaKto powinien interpetowa wyniki ?wyniki ? Administratorzy i developerzyAdministratorzy i developerzy Miary techniczne BiznesBiznes TransakcjeTransakcje
  39. 39. Praktyczny pokaz testu wydajnociowego
  40. 40. KONIEC PYTANIA ?