Your SlideShare is downloading. ×
0
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Gatling Tool in Action at DevoxxFR 2012

3,118

Published on

Gatling Tool in Action talk @DevoxxFr 2012. …

Gatling Tool in Action talk @DevoxxFr 2012.

Gatling is an effecient asynchronous stress test tool.
http://gatling-tool.org

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,118
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Réaliser des tests de charge avec Gatlingpar Stéphane Landelle @slandelle & Romain Sertelon @BluePyth 1
  • 2. Plan•Pourquoi un nième injecteur ?•Solution•Démo 2
  • 3. Pourquoi un nième injecteur ? 3
  • 4. Problème 1:Les performances 4
  • 5. 1 utilisateur = 1 thread 5
  • 6. ~50 threads/JVM 6
  • 7. ~2000 threads/JVM 7
  • 8. IO bloquants 8
  • 9. Au fait, que font ces threads? Ils attendent… 9
  • 10. Et sinon?Ils dorment… 10
  • 11. Problème 2:Utilisabilité &Maintenabilité 11
  • 12. Une interface graphique ? 12
  • 13. Du XML ?<?xml version="1.0" encoding="UTF-8"?><jmeterTestPlan version="1.2" properties="2.1"> <hashTree> <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="TestPlan.functional_mode">false</boolProp> <boolProp name="TestPlan.serialize_threadgroups">false</boolProp> <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel"testclass="Arguments"> <collectionProp name="Arguments.arguments"/> </elementProp> <stringProp name="TestPlan.user_define_classpath"></stringProp> </TestPlan> <hashTree> <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController"guiclass="LoopControlPanel"> <boolProp name="LoopController.continue_forever">false</boolProp> <stringProp name="LoopController.loops">1</stringProp> </elementProp> <stringProp name="ThreadGroup.num_threads">1500</stringProp> <stringProp name="ThreadGroup.ramp_time">200</stringProp> 13
  • 14. Solution•Portable (JVM)•Réellement asynchrone•Ergonomique•Evolutive 14
  • 15. Async = Acteurs 15
  • 16. Async = IO non bloquants• Netty• Async Http Client 16
  • 17. Scénarios = DSL 17
  • 18. Scénarios = codeval scn = scenario("My Scenario") .exec(http("Login page").get("/login.html")) .exec(http("Login").post("/login") .param("username", "foo") .param("password", "bar")) .loop( chain.exec(http("Home").get("/home.html") .check(regex("""<a href="/account/(ACC[0-9]*)">""")) ) ).times(5) 18
  • 19. Démo ! 19
  • 20. Screenshot recorder 1 20
  • 21. Screenshot recorder 2 21
  • 22. Conclusionhttp://gatling-tool.org@GatlingToolhttps://github.com/excilys/gatling 22

×