Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Gatling riviera dev

406 views

Published on

Slides of my talk about Gatling at RivieraDev 2018.

Published in: Software
  • Be the first to comment

Gatling riviera dev

  1. 1. Load Testing: Stop Crossing Fingers When Going Live RivieraDEV 18th, May2018 Gatling.io @GatlingTool Stéphane Landelle CEO @slandelle slandelle@gatling.io
  2. 2. Gatling Corp 2  French (Bagneux, near Paris)  Gatling OSS editor  Professional Services FrontLine for Enterprise users
  3. 3. AGENDA  Load Testing  Gatling & FrontLine  Demo
  4. 4. Load Testing? So What?!?!  No Time Complicated Honestly, what could happen?
  5. 5. Load Testing? So What?!?!  Challenges: traffic, time-to-market  Damage brand/sales  Operating costs
  6. 6. Loading Testing: Goals Anticipate Reproduce  Train
  7. 7. Load Testing? How? Who? • Experts? • QA, devs, DBA, ops, business?  Tools? • provisioning, monitoring, load injectors
  8. 8. Load Testing? When?  When I’m done developing?  ASAP?
  9. 9. Load Injector Simulate traffic and user behaviors  ≠ «  url basher» (curl, ab, wrk)  ≠ web browser
  10. 10. Gatling 1.  Enterprise Grade 2.  Performance 3.  Usability 4.  Reporting 5.  Integrations Code, Analyze, Integrate
  11. 11. Enterprise Grade Solution  Open-source: Gatling •  Recorder •  HTTP, WebSocket, Server-Sent Events, Polling, JMS Community: •  AMQP, ZeroMQ, MQTT, JDBC, Cassandra, Kafka, TCP… •  Conferences (26 in 2016)  Enterprise: FrontLine: •  Automation •  Clustering •  Live Reporting
  12. 12. Popularity 12 Top 5 3,600
  13. 13. Performance: Modern Architecture  Messaging:  Non blocking IO:
  14. 14. Performance Ø + load for given hardware Ø - unrealistic results
  15. 15. Usability Unit and Integration Tests: þ Maintenability (versioning, refactoring, peer review…) þ Devs Involved þ Continuous Integration è Quick Feedback What About Load Tests??? 15
  16. 16. Maintenabilit y 16 val scn = scenario("BasicSimulation") .exec(http("request_1").get("/")) .pause(5) Graphical Interface Code
  17. 17.  DSL Programming Language  JVM libraries Maintenabilit y: Code 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 Assert •  assertions
  18. 18. Reporting: Which Metrics? Mean? 18
  19. 19. Reporting: Which Metrics? 19
  20. 20. Reporting: Which Metrics? Standard Deviation? 20
  21. 21. Reporting: Which Metrics? 21 For normal distributions ONLY
  22. 22. Reporting: Which Metrics? 22 https://www.autodeskresearch.com/publications/samestats Same mean, same std dev
  23. 23. Reporting: Which Metrics? 23 Percentiles Nth percentile = value ≥ n% of the values 25th 50th 75th 100th (max) 3 6 7 8 8 9 10 13 15 16 20
  24. 24. Reporting: Which Metrics? 24 Don’t assume distributions! Measure!
  25. 25. Reporting: Which Metrics? 25 Beware broken implementations!
  26. 26. Reporting: Live Dashboard 26
  27. 27. Integrations / Automation 27 Continuous Integration Source Control Build ToolsIDE On Prem / On Demand
  28. 28. Acceptance Criteria   A ssertions Reporting in CI 28
  29. 29. Demo Time! 29
  30. 30. Thanks & see you soon! Questions? 30

×