gatling : faites tomber la foudre sur votre serveur ! (stéphane landelle)

30
Faites tomber la foudre Stéphane Landelle CTO eBusiness Information @slandelle

Upload: normandy-jug

Post on 24-May-2015

480 views

Category:

Technology


4 download

DESCRIPTION

Découvrez pourquoi (ben oui, au fait, pourquoi?) et comment stresser votre serveur: enregistrer un scenario, jouer avec le DSL, envoyer la purée et interpréter les résultats.

TRANSCRIPT

Page 1: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Faites tomber la foudre

Stéphane LandelleCTO

eBusiness Information

@slandelle

Page 2: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Yet Another Stress Tool

JMeter, Grinder, Tsung, LoadUI,

LoadRunner, Neoload…

Page 3: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

High PerformanceIssue #1

http://www.shopfbparts.com/catalog/nal-19201331_w.jpg

Page 4: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

1 user = 1 thread

Page 5: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

With 50 threads on a JVM

Page 6: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

With 2000 threads on a JVM

Page 7: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Blocking I/O

Page 8: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Threads? Waiting…

Page 9: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

… and sleeping

Page 10: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Is that a real problem?

Page 11: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Can you trust your results?

JMeter 2.8 perf test, expecting 300 tr/sec

Page 12: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

UsabilityIssue #2

Page 13: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Listen, it's not that complicated...

Graphical User Interface

Page 14: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

MaintainabilityIssue #3

Page 15: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

What was this change about?

Page 16: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Gatling can change all that!

http://static.lexpress.fr/medias/15/mai-68_124.jpg, copyright by AFP

Page 17: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Version 1.3.5Released November 2012

Say hello to my little friend…

Page 18: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Be asynchronous, embrace the actor model

Page 19: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Use non-blocking I/O

• Async HTTP Client

• Netty

Page 20: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Scenario = Code (Scala) = DSL

Page 21: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Easy

Page 22: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

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 : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

… or write your own Scala code…

Page 24: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

…or use the Recorder

Page 25: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Integrations• Maven Plugin

• Maven archetype (run in IDE)

• Graphite live reporting

Page 26: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Coming soon…

• Jenkins Plugin

• Requests Grouping

• Websockets, JDBC…

• Clustering

Page 27: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Demo

Page 28: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Really efficient?

Jmeter perf test run with Gatling, expecting 300 tr/sec

Page 29: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

http://gatling-tool.org

https://github.com/excilys/

gatling

@GatlingTool

https://github.com/slandelle

@slandelle

Page 30: Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)

Q&A