Hands On, Duchess 10/17/2012
description
Transcript of Hands On, Duchess 10/17/2012
How to stress test your application with Gatling ?
Paris, October 17th 2012
Why a new tool ?
Issue n°1:High performance
http://www.shopfbparts.com/catalog/nal-19201331_w.jpg
1 user = 1 thread
With 50 threads on a JVMhttp://www.ausmotive.com/F1/2010/British-GP-05.jpg
With 2000 threads on a JVM
Blocking IO
That's what your threads will do most of the time, waiting ...
http://www.flickr.com/photos/carlotancredi/3447589391
... and sleeping
http://www.flickr.com/photos/maciejdakowicz/4770794503
Is that a real problem?
Can you trust your results?
http://wiki.apache.org/jmeter/JMeterPerformance?action=AttachFile&do=get&target=Transactions-2.8.png
JMeter 2.8 perf test, expecting 300 tr/sec
Issue n°2:Usability
Graphical Interface
http://www.spacebio.uni-bonn.de/ahp/Parabel/Par_Images/240304-Cockpit_BIG.jpg
Listen, it's actually not complicated ...
Issue n°3:Maintenance
What was this change about ?
Listen to us, 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.3
Released mid-October 2012
Be asynchronous, embrace the actors model
Don't use blocking IO
> Netty > Async-Http-Client
Scenario= Code= DSL
http://gringocentralsanramon.blogspot.ch/2012/02/getting-published-writing-seminar-wed.html
Easy
Feeling lazy? Try the recorder.
Powerful : write your own Scala code
But, many used case covered out-of-the-box by the DSL
● .regex() / .css() / .xpath() / jsonPath()● .find() / .findAll() / .count()● .is() / .in() / .not / .whatever
● .doIf() / .repeat() / .during() / .asLongAs()
● .tryMax() / .exitBlockOnFail()● .randomSwitch() / .roundRobinSwitch()
● .feeder() : csv() / tsv() / jdbc()
Integrations : > Maven plugin> Maven archetype / run in the IDE> Graphite live reporting
Coming soon : > Jenkins plugin> Requests grouping> Clustering
Fact sheet● First commit in june 2011● Created by S. Landelle and R. Sertelon● About 20k LOCs● 21 persons have contributed to the project
● 2500 downloads since the beginning● 650 downloads of Gatling 1.2.5
Really efficient?
JMeter perf test run with Gatling, expecting 300 tr/sec
http://gatling-tool.orghttp://github.com/excilys/gatlinghttp://twitter.com/GatlingTool
http://github.com/slandellehttp://twitter.com/slandelle