Gatling Tool in Action at Devoxx 2012
description
Transcript of Gatling Tool in Action at Devoxx 2012
Blast your web app with Gatling
Romain SertelonJava Consultant
eBusiness Information
@BluePyth
Stéphane LandelleCTO
eBusiness Information
@slandelle
Yet Another Stress Tool
JMeter, Grinder, Tsung, LoadUI,
LoadRunner, Neoload…
High PerformanceIssue #1
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
UsabilityIssue #2
Listen, it's not that complicated...
Graphical User Interface
MaintainabilityIssue #3
What was this change about?
Gatling can change all that!
http://static.lexpress.fr/medias/15/mai-68_124.jpg, copyright by AFP
Version 1.3.4Released October 2012
Say hello to my little friend…
Be asynchronous, embrace the actor model
Use non-blocking I/O
• Async HTTP Client
• Netty
Scenario = Code (Scala) = DSL
http://gringocentralsanramon.blogspot.ch/2012/02/getting-published-writing-seminar-wed.html
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
https://github.com/BluePyth
@BluePyth
Q&A