%%
Last Updated:
- [[2021-02-13]]
- [[2020-12-11]]
%%
Speaker: [[Stéphane Landelle]]
Host: [[Joe Colantonio]] on [[Podcast/Test Guild Performance (series)]]
URL: https://testguild.com/podcast/performance/p35-stephane/
<iframe src="https://html5-player.libsyn.com/embed/episode/id/14571164/height/90/theme/custom/thumbnail/yes/direction/backward/render-playlist/no/custom-color/87A93A"></iframe>
- [[Gatling Corp]]:
- [[Gatling]] OSS tool
- [[Gatling Frontline]] (SaaS)
- professional services
- How popular is Gatling? (in 2017)
- It's been downloaded 700,000 times since the beginning.
- Based in [[France]]
- Gatling is opinionated
- Test feedback should be quick.
- Reusable components, versioning, peer review, continuous integration
- Testing is not just a testers' responsibility. Developers should also be able to participate.
- Speed = Text.
- [[When it comes to speed and performance, text is king.]]
- Functional: JUnit, Selenium, Cucumber.
- We should be able to achieve it for load testing too
- We need a [[DSL]] and actual code
- Performance and threads
- The poor performance was coming from the load test, and not the SUT
- Gatling has a different threading model.
- VU = dedicated thread in most tools.
- Increasing number of VU (thousands) will show the issues in this quickly
- Blocking I/Os is not efficient. Most tools spend a lot of time waiting for messages and it's a waste.
- [[The 1 Thread=1 Virtual User Paradigm is flawed]]
- Think time
- Sleep method is a waste
- [[Message-oriented architecture]]
- [[Akka framework]] (JVM)
- [[Netty framework]] for I/O
- There are no threads for VUs, just messages. On an 8 core machine, Gatling would only run with 40 threads.
- 100,000 rps on Gatling with 1,000 VUs
- Metrics [[Analyzing load testing results]]
- Average value is a poor metric
- [[Standard Deviation]], but even that only works for [[Normal distribution]] -- which never happens in real life
- Response time distribution is what we really need to know: percentiles
- But some tools show you averages of percentiles. When data is aggregated and then averaged out, it loses significance.
- You end up with smooth curves with very reassuring results, but there are hiccups that are being masked.
- Integration
- [[Scala]] allows Gatling to integrate very well with IDEs like [[IntelliJ]] and [[Eclipse]], and build tools like [[Maven]]
- versioning [[Git]]
- continuous integration [[Jenkins]], [[Bamboo]]
- Acceptance criteria
- Installation and requirements
- [[Java]], [[Scala]]
-