Gatling - JUGL, 2012-09-13

Post on 29-Jun-2015

783 views 4 download

Tags:

Transcript of Gatling - JUGL, 2012-09-13

How to stress test your application with Gatling ?

Lausanne, September 13th 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

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 ...

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

version 1.3.0

Expected by the end of September 2012

All examples will be based on this version

Easy

Démo !

http://frizzlesworld.files.wordpress.com/2011/02/computer-cat.jpg

Feeling lazy? Try the recorder.

Démo !

http://frizzlesworld.files.wordpress.com/2011/02/computer-cat.jpg

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()

Polling

Markov chains

(Cycles are not supported so far...)

See also : .roundRobinSwitch()

Démo !

http://frizzlesworld.files.wordpress.com/2011/02/computer-cat.jpg

Coming soon : > Live reporting in Graphite

> Jenkins reports> Clustering

Fact sheet● First commit in june 2011● Created by S. Landelle and R. Sertelon● About 20k LOCs● 19 persons have contributed to the project

● 2000 downloads since the beginning● 500 downloads of Gatling 1.2.5

http://gatling-tool.orghttp://github.com/excilys/gatlinghttp://twitter.com/GatlingTool

http://github.com/nirehttp://twitter.com/nremond