Your SlideShare is downloading. ×
Gatling - SoftShake 2013
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Gatling - SoftShake 2013

962
views

Published on

Slides of my talk about Performance Testing and Gatling @ SoftShake 2013

Slides of my talk about Performance Testing and Gatling @ SoftShake 2013

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
962
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
2
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 Pierre DAL-PRA @ eBusiness Information @pierre_dalpra
  • 2. Load Testing Gatling
  • 3. Load Testing Gatling
  • 4. Load testing? Performance
  • 5. Performance Why care? (from business POV) It’s all ‘bout the money! Conversion rates Platform costs
  • 6. Results/page : 10 => 30  +500 ms  -20% pages seen
  • 7. +100 ms  -1 % sales  Estimated loss: $160M/y
  • 8. Performance Why care? (from dev POV) Fun! (happens to be useful too) Anticipate Reproduce Train
  • 9. Performance WDYM?
  • 10. Performance means Fast? Robust? Cost effective?
  • 11. Performance = Requirements
  • 12. Speed is suggestive contextualized
  • 13. Traffic & Behaviors Analytics Business people
  • 14. Methodology (tentative)
  • 15. Prerequisite Proper local perf testing!!! client + network app debugging
  • 16. Be scientists Analyze!!! Data Monitor
  • 17. Tooling • Load injector: Gatling, JMeter, Locust.io... • JVM monitoring: JMXtrans, Yammer Metrics... • System monitoring: Nagios • Network monitoring • Database monitoring • Dashboard: Graphite, Ganglia • Webapp mock: H. Gomez's basic perf webapp
  • 18. Simulate Behaviors Situations
  • 19. Capacity test
  • 20. Stress test
  • 21. Endurance test
  • 22. Metrics min/max? mean? The good, the bad and the ugly
  • 23. Metrics Percentiles FTW!
  • 24. Iterate!!! Test Analyze Fix hotspot
  • 25. Jmeter, The Grinder, LoadUI, Tsung, Locust, Load Runner, Rational, NeoLoad…
  • 26. Issue #1 High Performance
  • 27. 1 user = 1 thread
  • 28. 50 threads on a JVM
  • 29. With 2000 threads
  • 30. Blocking I/O
  • 31. Threads ? Waiting…
  • 32. … and sleeping
  • 33. Issue #2 Usability
  • 34. Graphical User Interface Listen, it's not that complicated...
  • 35. Issue #3 Maintainability
  • 36. What is this change about ?
  • 37. Gatling can change all that !
  • 38. Synchronous - Asynchronous 1user=1thread - Actor model Blocking I/O - Non blocking I/O
  • 39. Actors
  • 40. NIO
  • 41. Reach new limits
  • 42. From the Play2 Computer-Database sample. (cf: https://github.com/gatling/computer-database)
  • 43. Scenario Scala = code = DSL
  • 44. 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
  • 45. … or write your own Scala code…
  • 46. … or use the Recorder
  • 47. • • • • Maven Plugin Maven archetype (run in IDE) Jenkins plugin Graphite live reporting
  • 48. Coming soon… • • Websockets, JDBC… Clustering
  • 49. http://gatling-tool.org http://github.com/excilys/gatling @GatlingTool