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

Gatling riviera dev