Blast your app with Gatling! by Stephane Landelle

  • 2,364 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,364
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
55
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Load testing made easy Stéphane Landelle @ eBusiness Information @slandelle
  • 2. Load Testing" Gatling" Demo
  • 3. Load Testing" Gatling" Demo
  • 4. Load Testing" Gatling" Demo
  • 5. Load testing? About performance About server side In “real” conditions
  • 6. Performance What for?"
  • 7. It’s all ‘bout the money!" Conversion rates" Platform costs Performance What for?" (from business POV)
  • 8. " " Results/page : 10 => 30 è +500 ms " è -20% pages seen
  • 9. è -1 % sales" è Estimated loss: $160M/y +100 ms
  • 10. Performance" What for?" (from dev POV) Fun!" (happens to be useful too)" Anticipate" Reproduce" Train
  • 11. How?" " "
  • 12. How?" " Define goals" èRequirements
  • 13. How?" " Analyze" èData" èMonitor
  • 14. How?" " Simulate" èBehaviors" èInjector
  • 15. How?" " Iterate!!!"
  • 16. Jmeter, The Grinder, LoadUI, Tsung, Locust, Load Runner, Rational, NeoLoad…
  • 17. Issue #1 High Performance
  • 18. 1 user = " 1 thread
  • 19. 50 threads on a JVM
  • 20. With 2000 threads
  • 21. Blocking I/O
  • 22. Threads ?" Waiting…
  • 23. … and sleeping
  • 24. JMeter 2.8 perf test, expecting 300 tr/sec Can you trust your results ?
  • 25. JMeter reference test with Gatling, expecting 300 tr/sec
  • 26. Usability Issue #2
  • 27. Listen, it's not that complicated... Graphical User Interface
  • 28. Maintainability Issue #3
  • 29. What is this change about ?
  • 30. Gatling can change all that !
  • 31. Synchronous" " 1user=1thread" " Blocking I/O - Asynchronous - Actor model - Non blocking I/O
  • 32. Actors
  • 33. NIO
  • 34. Reach new limits
  • 35. From the Play2 Computer-Database sample. (cf: https://github.com/gatling/computer-database)
  • 36. Scenario " Scala code" DSL " = =
  • 37. 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
  • 38. … or write your own " Scala code…
  • 39. … or use the Recorder
  • 40. •  Maven Plugin •  Maven archetype (run in IDE) •  Jenkins plugin •  Graphite live reporting
  • 41. Coming soon… •  Websockets, JDBC… •  Clustering
  • 42. Demo
  • 43. http://gatling-tool.org http://github.com/excilys/gatling @GatlingTool