Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Gatling - GenevaJUG, 2012-11-27
Search
Nicolas Rémond
November 27, 2012
0
1.5k
Gatling - GenevaJUG, 2012-11-27
Nicolas Rémond
November 27, 2012
Tweet
Share
More Decks by Nicolas Rémond
See All by Nicolas Rémond
Gatling - Swiss JUG (Bern)
nremond
1
96
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
75
8.4k
Designing with Data
zakiwarfel
96
4.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
119
18k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
20
1.7k
Code Reviewing Like a Champion
maltzj
516
39k
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
19
7.1k
Principles of Awesome APIs and How to Build Them.
keavy
122
16k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
9k
Infographics Made Easy
chrislema
238
18k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
Designing on Purpose - Digital PM Summit 2013
jponch
112
6.6k
Transcript
How to stress test your application with Gatling ? Geneva,
November 27th 2012
First commit in june 2011 by S. Landelle and R.
Sertelon About 20k LOCs by 19 contributors Commiter since Spring 2012
Why a new stress tool ?
None
None
Issue n°1: High performance http://www.shopfbparts.com/catalog/nal-19201331_w.jpg
1 user = 1 thread
With 50 threads on a JVM http://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
Does it actually matter ?
None
Yes !
None
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 ?
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.5 (Released
November 23rd 2012)
> Actor model (Akka) > Async IO (Async-Http-Client + Netty)
Be asynchronous !
Scenario = Code = DSL http://gringocentralsanramon.blogspot.ch/2012/02/getting-published-writing-seminar-wed.html
Easy
Démo ! http://frizzlesworld.files.wordpress.com/2011/02/computer-cat.jpg
Use the rich DSL ... • .regex() / .css() /
.xpath() / jsonPath() • .find() / .findAll() / .count() • .is() / .in() / .not / .whatever • .doIf() / .repeat() / .during() / . asLongAs() • .randomSwitch() / .roundRobinSwitch() • .tryMax() / .exitBlockOnFail() • .feeder() : csv() / tsv() / jdbc()
... or write your own Scala code
... or try the recorder.
Démo ! http://frizzlesworld.files.wordpress.com/2011/02/computer-cat.jpg
Markov chains (Cycles are not supported so far...)
See also : .roundRobinSwitch()
Polling
Démo ! http://frizzlesworld.files.wordpress.com/2011/02/computer-cat.jpg
Integrations : > Maven Plugin > Maven archetype (run in
IDE) > Graphite live reporting
Coming soon : > Jenkins plugin > Requests grouping >
Websockets > Clustering > ...
@nremond @nremond http://github.com/excilys/gatling @GatlingTool http://www.gatling-tool.org