SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
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 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
Is that a real problem?
Can you trust your results?




                              JMeter 2.8 perf test, expecting 300 tr/sec


      http://wiki.apache.org/jmeter/JMeterPerformance?action=AttachFile&do=get&target=Transactions-2.8.png
Issue n°2:
Usability
Graphical Interface

                                               Listen, it's actually
                                               not complicated ...




            http://www.spacebio.uni-bonn.de/ahp/Parabel/Par_Images/240304-Cockpit_BIG.jpg
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.org
http://github.com/excilys/gatling
http://twitter.com/GatlingTool




http://github.com/slandelle
http://twitter.com/slandelle

Contenu connexe

Tendances

Whatthestack using Tempest for testing your OpenStack deployment
Whatthestack using Tempest for testing your OpenStack deploymentWhatthestack using Tempest for testing your OpenStack deployment
Whatthestack using Tempest for testing your OpenStack deployment
Christian Schwede
 
Oscon2007 Windmill
Oscon2007 WindmillOscon2007 Windmill
Oscon2007 Windmill
oscon2007
 

Tendances (20)

Boost your App with Gatling
Boost your App with GatlingBoost your App with Gatling
Boost your App with Gatling
 
Gatling - Stress test tool
Gatling - Stress test toolGatling - Stress test tool
Gatling - Stress test tool
 
Test driving-qml
Test driving-qmlTest driving-qml
Test driving-qml
 
Performance optimization techniques for Java code
Performance optimization techniques for Java codePerformance optimization techniques for Java code
Performance optimization techniques for Java code
 
Play Framework
Play FrameworkPlay Framework
Play Framework
 
Java Performance: What developers must know
Java Performance: What developers must knowJava Performance: What developers must know
Java Performance: What developers must know
 
vodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev toolsvodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev tools
 
Load Testing with Taurus using Jenkins and AWS
Load Testing with Taurus using Jenkins and AWSLoad Testing with Taurus using Jenkins and AWS
Load Testing with Taurus using Jenkins and AWS
 
Test driving QML
Test driving QMLTest driving QML
Test driving QML
 
КОСТЯНТИН КЛЮЄВ «Postman: API Automation Testing Swiss Army Knife» Kyiv QADay...
КОСТЯНТИН КЛЮЄВ «Postman: API Automation Testing Swiss Army Knife» Kyiv QADay...КОСТЯНТИН КЛЮЄВ «Postman: API Automation Testing Swiss Army Knife» Kyiv QADay...
КОСТЯНТИН КЛЮЄВ «Postman: API Automation Testing Swiss Army Knife» Kyiv QADay...
 
Introduction to Prometheus
Introduction to PrometheusIntroduction to Prometheus
Introduction to Prometheus
 
Java concurrency
Java concurrencyJava concurrency
Java concurrency
 
Reactive by example - at Reversim Summit 2015
Reactive by example - at Reversim Summit 2015Reactive by example - at Reversim Summit 2015
Reactive by example - at Reversim Summit 2015
 
Ob1k presentation at Java.IL
Ob1k presentation at Java.ILOb1k presentation at Java.IL
Ob1k presentation at Java.IL
 
Antifragility and testing for distributed systems failure
Antifragility and testing for distributed systems failureAntifragility and testing for distributed systems failure
Antifragility and testing for distributed systems failure
 
Whatthestack using Tempest for testing your OpenStack deployment
Whatthestack using Tempest for testing your OpenStack deploymentWhatthestack using Tempest for testing your OpenStack deployment
Whatthestack using Tempest for testing your OpenStack deployment
 
Modern Browser as a Programming Editor
Modern Browser as a Programming EditorModern Browser as a Programming Editor
Modern Browser as a Programming Editor
 
Effective java item 80 prefer executors, tasks, and streams to threads
Effective java   item 80  prefer executors, tasks, and  streams to threadsEffective java   item 80  prefer executors, tasks, and  streams to threads
Effective java item 80 prefer executors, tasks, and streams to threads
 
Code quality par Simone Civetta
Code quality par Simone CivettaCode quality par Simone Civetta
Code quality par Simone Civetta
 
Oscon2007 Windmill
Oscon2007 WindmillOscon2007 Windmill
Oscon2007 Windmill
 

En vedette

Blast your app with Gatling! by Stephane Landelle
Blast your app with Gatling! by Stephane LandelleBlast your app with Gatling! by Stephane Landelle
Blast your app with Gatling! by Stephane Landelle
ZeroTurnaround
 

En vedette (12)

Blast your app with Gatling! by Stephane Landelle
Blast your app with Gatling! by Stephane LandelleBlast your app with Gatling! by Stephane Landelle
Blast your app with Gatling! by Stephane Landelle
 
Gatling - oružje u redovima performansnog testiranja
Gatling - oružje u redovima performansnog testiranjaGatling - oružje u redovima performansnog testiranja
Gatling - oružje u redovima performansnog testiranja
 
How to Cover All Your Backend Testing Needs with API and UI Tests
How to Cover All Your Backend Testing Needs with API and UI TestsHow to Cover All Your Backend Testing Needs with API and UI Tests
How to Cover All Your Backend Testing Needs with API and UI Tests
 
'Shift-Right' - Rapid Evolution with DesignOps
'Shift-Right' - Rapid Evolution with DesignOps'Shift-Right' - Rapid Evolution with DesignOps
'Shift-Right' - Rapid Evolution with DesignOps
 
Pre-Con Lab: Test Automation Across Nine Open Source Tools—Taurus
Pre-Con Lab: Test Automation Across Nine Open Source Tools—TaurusPre-Con Lab: Test Automation Across Nine Open Source Tools—Taurus
Pre-Con Lab: Test Automation Across Nine Open Source Tools—Taurus
 
Gatling @ Scala.Io 2013
Gatling @ Scala.Io 2013Gatling @ Scala.Io 2013
Gatling @ Scala.Io 2013
 
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
 
Tests de performances
Tests de performancesTests de performances
Tests de performances
 
Skinny Framework 1.0.0
Skinny Framework 1.0.0Skinny Framework 1.0.0
Skinny Framework 1.0.0
 
Beyond JSON - An Introduction to FlatBuffers
Beyond JSON - An Introduction to FlatBuffersBeyond JSON - An Introduction to FlatBuffers
Beyond JSON - An Introduction to FlatBuffers
 
Zero to Sixty: AWS OpsWorks (DMG202) | AWS re:Invent 2013
Zero to Sixty: AWS OpsWorks (DMG202) | AWS re:Invent 2013Zero to Sixty: AWS OpsWorks (DMG202) | AWS re:Invent 2013
Zero to Sixty: AWS OpsWorks (DMG202) | AWS re:Invent 2013
 
Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon
 

Similaire à Hands On, Duchess 10/17/2012

Gatling - JUGL, 2012-09-13
Gatling  - JUGL, 2012-09-13Gatling  - JUGL, 2012-09-13
Gatling - JUGL, 2012-09-13
Nicolas Rémond
 
Crash dump analysis - experience sharing
Crash dump analysis - experience sharingCrash dump analysis - experience sharing
Crash dump analysis - experience sharing
James Hsieh
 
Comment j'ai mis ma suite de tests au régime en 5 minutes par jour
Comment j'ai mis ma suite de tests au régime en 5 minutes par jourComment j'ai mis ma suite de tests au régime en 5 minutes par jour
Comment j'ai mis ma suite de tests au régime en 5 minutes par jour
CARA_Lyon
 
Microsoft Power Point Best Practices For Scaling Heavily Adopted And Concur...
Microsoft Power Point   Best Practices For Scaling Heavily Adopted And Concur...Microsoft Power Point   Best Practices For Scaling Heavily Adopted And Concur...
Microsoft Power Point Best Practices For Scaling Heavily Adopted And Concur...
Steve Feldman
 
Let's make this test suite run faster - Paris JUG 2011
Let's make this test suite run faster - Paris JUG 2011Let's make this test suite run faster - Paris JUG 2011
Let's make this test suite run faster - Paris JUG 2011
David Gageot
 
Front-end optimisation & jQuery Internals
Front-end optimisation & jQuery InternalsFront-end optimisation & jQuery Internals
Front-end optimisation & jQuery Internals
Artur Cistov
 
Mobile Developer Summit 2012, Pune
Mobile Developer Summit 2012, PuneMobile Developer Summit 2012, Pune
Mobile Developer Summit 2012, Pune
Bhuvan Khanna
 

Similaire à Hands On, Duchess 10/17/2012 (20)

Gatling - JUGL, 2012-09-13
Gatling  - JUGL, 2012-09-13Gatling  - JUGL, 2012-09-13
Gatling - JUGL, 2012-09-13
 
Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)
Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)
Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)
 
Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin
 
Crash dump analysis - experience sharing
Crash dump analysis - experience sharingCrash dump analysis - experience sharing
Crash dump analysis - experience sharing
 
Improving MeeGo boot-up time
Improving MeeGo boot-up timeImproving MeeGo boot-up time
Improving MeeGo boot-up time
 
Let's make this test suite run faster! SoftShake 2010
Let's make this test suite run faster! SoftShake 2010Let's make this test suite run faster! SoftShake 2010
Let's make this test suite run faster! SoftShake 2010
 
Comment j'ai mis ma suite de tests au régime en 5 minutes par jour
Comment j'ai mis ma suite de tests au régime en 5 minutes par jourComment j'ai mis ma suite de tests au régime en 5 minutes par jour
Comment j'ai mis ma suite de tests au régime en 5 minutes par jour
 
Microsoft Power Point Best Practices For Scaling Heavily Adopted And Concur...
Microsoft Power Point   Best Practices For Scaling Heavily Adopted And Concur...Microsoft Power Point   Best Practices For Scaling Heavily Adopted And Concur...
Microsoft Power Point Best Practices For Scaling Heavily Adopted And Concur...
 
Let's make this test suite run faster - Paris JUG 2011
Let's make this test suite run faster - Paris JUG 2011Let's make this test suite run faster - Paris JUG 2011
Let's make this test suite run faster - Paris JUG 2011
 
jRecruiter - The AJUG Job Posting Service
jRecruiter - The AJUG Job Posting ServicejRecruiter - The AJUG Job Posting Service
jRecruiter - The AJUG Job Posting Service
 
Nagios Conference 2014 - Gerald Combs - A Trillion Truths
Nagios Conference 2014 - Gerald Combs - A Trillion TruthsNagios Conference 2014 - Gerald Combs - A Trillion Truths
Nagios Conference 2014 - Gerald Combs - A Trillion Truths
 
Modern Engineer’s Troubleshooting Tools, Techniques & Tricks at Confoo 2018
Modern Engineer’s Troubleshooting Tools, Techniques & Tricks at Confoo 2018Modern Engineer’s Troubleshooting Tools, Techniques & Tricks at Confoo 2018
Modern Engineer’s Troubleshooting Tools, Techniques & Tricks at Confoo 2018
 
Accelerometer and Open GL
Accelerometer and Open GLAccelerometer and Open GL
Accelerometer and Open GL
 
Accelerometer and OpenGL
Accelerometer and OpenGLAccelerometer and OpenGL
Accelerometer and OpenGL
 
Front-end optimisation & jQuery Internals
Front-end optimisation & jQuery InternalsFront-end optimisation & jQuery Internals
Front-end optimisation & jQuery Internals
 
Compile ahead of time. It's fine?
Compile ahead of time. It's fine?Compile ahead of time. It's fine?
Compile ahead of time. It's fine?
 
X Means Y
X Means YX Means Y
X Means Y
 
내 손 위의 딥러닝_iOS에 딥러닝 심기
내 손 위의 딥러닝_iOS에 딥러닝 심기 내 손 위의 딥러닝_iOS에 딥러닝 심기
내 손 위의 딥러닝_iOS에 딥러닝 심기
 
Mobile Developer Summit 2012, Pune
Mobile Developer Summit 2012, PuneMobile Developer Summit 2012, Pune
Mobile Developer Summit 2012, Pune
 
Containers from Scratch: what are they made from?
Containers from Scratch: what are they made from?Containers from Scratch: what are they made from?
Containers from Scratch: what are they made from?
 

Hands On, Duchess 10/17/2012