Gatling Tool in Action at Devoxx 2012
description
Transcript of Gatling Tool in Action at Devoxx 2012
![Page 1: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/1.jpg)
Blast your web app with Gatling
Romain SertelonJava Consultant
eBusiness Information
@BluePyth
Stéphane LandelleCTO
eBusiness Information
@slandelle
![Page 2: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/2.jpg)
Yet Another Stress Tool
JMeter, Grinder, Tsung, LoadUI,
LoadRunner, Neoload…
![Page 3: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/3.jpg)
High PerformanceIssue #1
http://www.shopfbparts.com/catalog/nal-19201331_w.jpg
![Page 4: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/4.jpg)
1 user = 1 thread
![Page 5: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/5.jpg)
With 50 threads on a JVM
![Page 6: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/6.jpg)
With 2000 threads on a JVM
![Page 7: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/7.jpg)
Blocking I/O
![Page 8: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/8.jpg)
Threads? Waiting…
![Page 9: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/9.jpg)
… and sleeping
![Page 10: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/10.jpg)
Is that a real problem?
![Page 11: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/11.jpg)
Can you trust your results?
JMeter 2.8 perf test, expecting 300 tr/sec
![Page 12: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/12.jpg)
UsabilityIssue #2
![Page 13: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/13.jpg)
Listen, it's not that complicated...
Graphical User Interface
![Page 14: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/14.jpg)
MaintainabilityIssue #3
![Page 15: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/15.jpg)
What was this change about?
![Page 16: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/16.jpg)
Gatling can change all that!
http://static.lexpress.fr/medias/15/mai-68_124.jpg, copyright by AFP
![Page 17: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/17.jpg)
Version 1.3.4Released October 2012
Say hello to my little friend…
![Page 18: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/18.jpg)
Be asynchronous, embrace the actor model
![Page 19: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/19.jpg)
Use non-blocking I/O
• Async HTTP Client
• Netty
![Page 20: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/20.jpg)
Scenario = Code (Scala) = DSL
http://gringocentralsanramon.blogspot.ch/2012/02/getting-published-writing-seminar-wed.html
![Page 21: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/21.jpg)
Easy
![Page 22: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/22.jpg)
Use the rich DSL…Checks
• regex / css / xpath / jsonPath
• find / findAll / count
• is / in / not / whatever
Structures
• doIf / repeat / during / asLongAs
• randomSwitch / roundRobinSwitch
Error handling
• tryMax / exitBlockOnFail
Feeders
• csv / tsv / jdbc
![Page 23: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/23.jpg)
… or write your own Scala code…
![Page 24: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/24.jpg)
…or use the Recorder
![Page 25: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/25.jpg)
Integrations• Maven Plugin
• Maven archetype (run in IDE)
• Graphite live reporting
![Page 26: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/26.jpg)
Coming soon…
• Jenkins Plugin
• Requests Grouping
• Websockets, JDBC…
• Clustering
![Page 27: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/27.jpg)
Demo
![Page 28: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/28.jpg)
Really efficient?
Jmeter perf test run with Gatling, expecting 300 tr/sec
![Page 29: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/29.jpg)
http://gatling-tool.org
https://github.com/excilys/
gatling
@GatlingTool
https://github.com/slandelle
@slandelle
https://github.com/BluePyth
@BluePyth
![Page 30: Gatling Tool in Action at Devoxx 2012](https://reader034.fdocuments.in/reader034/viewer/2022051313/5484fff0b4af9f910d8b4ca4/html5/thumbnails/30.jpg)
Q&A