Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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.6k
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
110
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
How GitHub (no longer) Works
holman
316
140k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
150
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
91
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
2k
Context Engineering - Making Every Token Count
addyosmani
9
560
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
320
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
150
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