Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Gatling

927 visualizaciones

Publicado el

Gatling is Open Source Stress testing tool.

Why Gatling:

- High Performance.
- Multi Threading vs (Akka) Actor Model.
- Synchronous Blocking IOs vs asynchronous Non-blocking IOs Netty.

Publicado en: Tecnología
  • Sé el primero en comentar

Gatling

  1. 1. Load Testing with Gatling
  2. 2. Hat’s off for Stephane Landelle
  3. 3. Introduction Gatling Demo
  4. 4. Load testing? Checking the performance of your application under normal and peak load conditions.
  5. 5. Types of load tests ● Capacity Test ● Stress Test ● Endurance Test
  6. 6. Capacity Test Goal: Determine how much load your system can hold
  7. 7. Stress Test Goal: Study system behavior in case of heavy load, during AND after
  8. 8. Endurance Test Goal: Validate system behavior after a long period of activity.
  9. 9. Performance What for? (from business POV) It’s all ‘bout the money! Conversion rates Platform costs
  10. 10. Results/page : 10 => 30 ➔ +500 ms ➔ -20% pages seen
  11. 11. +100 ms ➔ -1 % sales ➔ Estimated loss: $160M/y
  12. 12. How? 1.Define goals - Requirements 2.Analyze - Data - Monitor 3.Simulate - Behaviors - Injector 4.Iterate!!!
  13. 13. Load testing tool Jmeter, The Grinder, LoadUI, Tsung, Locust, Load Runner, Rational, NeoLoad…
  14. 14. Issue #1 High Performance
  15. 15. 1 user = 1 thread
  16. 16. 50 Threads on a JVM
  17. 17. With 2000 threads
  18. 18. Blocking I/O
  19. 19. Threads? Waiting…
  20. 20. … and sleeping
  21. 21. Can you trust your results ? JMeter2.8 perftest, expecting 300 tr/sec
  22. 22. JMeter reference test with Gatling, expecting 300 tr/sec
  23. 23. Issue #2 Usability
  24. 24. Graphical User Interface
  25. 25. Issue #3 Maintainability
  26. 26. What was this change about?
  27. 27. Synchronous - Asynchronous 1user=1 thread - Actor model Blocking I/O - Non blocking I/O
  28. 28. Be asynchronous, embrace the actor model
  29. 29. Use non-blocking I/O ● Async HTTP Client ● Netty
  30. 30. Scenario = Scala code = DSL
  31. 31. Demo
  32. 32. Use the rich DSL … Checks regex / css/ xpath/ jsonPath find / findAll/ count is / in / not / whatever Structures doIf/ repeat / during / asLongAs randomSwitch/ roundRobinSwitch Error handling tryMax/ exitBlockOnFail Feeders csv/ tsv/ jdbc
  33. 33. or write your own Scala code…
  34. 34. or use the Recorder
  35. 35. References http://gatling.io https://github.com/gatling
  36. 36. Thank You

×