Faites tomber la foudre




   Stéphane Landelle
            CTO
    eBusiness Information
       @slandelle
Yet Another Stress Tool

JMeter, Grinder, Tsung, LoadUI,
   LoadRunner, Neoload…
Issue #1
High Performance




   http://www.shopfbparts.com/catalog/nal-19201331_w.jpg
1 user = 1 thread
With 50 threads on a JVM
With 2000 threads on a JVM
Blocking I/O
Threads? Waiting…
… and sleeping
Is that a real problem?
Can you trust your results?




      JMeter 2.8 perf test, expecting 300 tr/sec
Issue #2
Usability
Graphical User Interface
                       Listen, it's not that
                       complicated...
Issue #3
Maintainability
What was this change about?
Gatling can
                                                       change all
                                                       that!




http://static.lexpress.fr/medias/15/mai-68_124.jpg, copyright by AFP
Say hello to my little friend…




          Version 1.3.5
    Released November 2012
Be asynchronous, embrace the
        actor model
Use non-blocking I/O



• Async HTTP Client

• Netty
Scenario
 = Code (Scala)
 = DSL
Easy
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
… or write your own Scala code…
…or use the Recorder
Integrations
• Maven Plugin

• Maven archetype (run in IDE)

• Graphite live reporting
Coming soon…


• Jenkins Plugin

• Requests Grouping

• Websockets, JDBC…

• Clustering
Demo
Really efficient?




Jmeter perf test run with Gatling,
     expecting 300 tr/sec
http://gatling-tool.org
https://github.com/excilys/gatling
@GatlingTool



https://github.com/slandelle
@slandelle
Q&A

Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)