Hands On, Duchess 10/17/2012

Post on 05-Dec-2014

651 views 2 download

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