Gatling Tool in Action at Devoxx 2012

Preview:

DESCRIPTION

 

Citation preview

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