Anúncio
Anúncio

Mais conteúdo relacionado

Destaque(20)

Similar a JavaCro'14 - Gatling – weapon in ranks of performance testing – Andrija Kranjec(20)

Anúncio

Mais de HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association(20)

Anúncio

JavaCro'14 - Gatling – weapon in ranks of performance testing – Andrija Kranjec

  1. Oružje u redovimaOružje u redovima performansnog testiranja Andrija Kranjec
  2. Agenda • Što je Gatling? • Problemi kod alata za testiranje • Gatling kao rješenje • Demo• Demo • Testiranje JVM aplikacija
  3. Što je Gatling? Sliku ustupio Dean Sekulić (Croteam)
  4. Gatling je alat za simulaciju opterećenja na testiranoj aplikaciji, provodi pripadna mjerenja iprovodi pripadna mjerenja i prezentira rezultate provedenog performansnog testiranja.
  5. Još jedan u nizu alata
  6. Problemi kod alata za testiranjeProblemi kod alata za testiranje
  7. Cijena Photo by Siphiwe Sibeko / Reuters
  8. 1 dretva = 1 korisnik Photo by Alessandro Garofalo / Reuters
  9. Dretve čekaju… Photo by Larry Downing / Reuters
  10. …i spavaju. Photo by Stringer Shanghai / Reuters
  11. Komplicirano sučelje Photo by Ben Cooper
  12. • Baziran na Actor Modelu • Asinkron • Koristi Non-Blocking algoritme Gatling kao rješenje • Koristi Non-Blocking algoritme
  13. Lako pisanje testova*Lako pisanje testova* *pod uvjetom da ste programer
  14. Testovi se pišu korištenjem Gatling DSL-a koji je implementiran u Scala programskom jeziku.
  15. Definiranje scenarija - opisuju ponašanja virtualnih korisnika scenario exec / group / pause / pauseExp / pauseCustom doIf / doIfOrElse / randomSwitch / roundRobinSwitch repeat / during / asLongAs / foreach tryMax / exitBlockOnFail / exitHereIfFailed Definiranje feedera - ubacivanje podataka u scenarij csv / tsv / ssv / jdbc / redisFeeder Gatling DSL csv / tsv / ssv / jdbc / redisFeeder queue / random / circular Konfiguracija scenarija - manipulacija izvršavanja users / ramp / delay / protocolConfig HTTP akcije - upravljanje HTTP zahtjevima http get / post / put / delete / head queryParam / header / headers / basicAuth body / fileBody / byteArrayBody / param / upload
  16. Provjere - provjera sadržaja odgovora check status / currentLocation / header / headerRegex / responseTimeInMillis / latencyInMillis regex / xpath / jsonPath / css / md5 / sha1 find / findAll / count transform is / not / exists / notExists / in / whatever saveAs HTTP konfiguracija – upravljanje Gatlingovim HTTP klijentom Gatling DSL HTTP konfiguracija – upravljanje Gatlingovim HTTP klijentom httpconfig baseURL / baseURLs / proxy / httpsPort / credentials acceptHeader / acceptCharsetHeader / acceptEncodingHeader / acceptLanguageHeader / hostHeader / userAgentHeader disableFollowRedirect / disableAutomaticReferer / disableWarmUp / warmUp requestInfoExtractor / responseInfoExtractor / disableResponseChunksDiscarding
  17. Assertions – postavljanje nefunkcionalnih zahtjeva na razini scenarija assertThat global / details responseTime / allRequests / failedRequests / successfulRequests /requestsPerSec min / max / mean / stdDev / percentiles1 / percentiles2 percent / count lessThan / greaterThan / between / is / in / assert Gatling DSL
  18. Napiši jednomNapiši jednom
  19. Recikliraj stare testove Photo by Stringer Shanghai / Reuters
  20. Nema izlike za sistemaše...Nema izlike za sistemaše...
  21. …postoji recorder.
  22. Izvještaji
  23. DemoDemo
  24. Planirajte opterećenje Izvor http://www.zadarskilist.hr/
  25. Opteretili smo aplikaciju, a što dalje?Opteretili smo aplikaciju, a što dalje?
  26. Monitoring JVM aplikacije • CPU • Heap memorija • Garbage collector rate • Thread pool • Webcontainer pool• Webcontainer pool • JDBC (time, connection pool,..) • Prepare statement cache • Response time portleta/servleta
  27. Demo - rezultatiDemo - rezultati
  28. Pitanja?
Anúncio