open source load testing: jmeter, gatling and taurus
TRANSCRIPT
Open Source Load Testing: JMeter, Gatling and Taurus
Dave KarowDeveloper Advocate
Load Testing at Scale Using Gatling and Taurus
Andrey PokhilkoOpen Source Initiative Leader
Agenda
1. Introduction to Gatling Tool
2. Gatling compared with JMeter
3. Introduction to Taurus
4. Live Demos
5. Q&A Section
Introduction to Gatling Tool
Key Features of Gatling
● Command-line tool
● Scala language for scripting
● DSL for HTTP requests
● Post-test HTML reports
Value of Gatling for Users
● Full power of programming language
● Easy to use custom code pieces and extra libraries
● Flexible load injection profiles
● Asynchronous concurrency model
Demo: Basic Usage of Gatling
● Package, imports, simulation class
● simulation ≈ scenario + injection profile + protocol
● Simulation file placement
● Simulation file naming convention
Gatling compared with JMeter
VS
Scripting Approach
● Simple GUI vs Scala for techies
● In JMeter you see one component at a time / Scala is ok
● JMeter JMX files are not VCS-friendly / Scala files are
● Code re-use and modularity in JMeter is huge pain
● Coding skills requirement is a limitation for Gatling
VS
Load Profiles
● Arrivals-based injection
● Concurrency-based injection
● RPS throttling
● All is doable in JMeter + Plugins
● In Gatling, it is not as obvious as in JMeter
VS
Community & Popularity
● JMeter is far more popular in net number of users
● Gatling users are more skilled techies on average
● More content on JMeter than on Gatling
● More tools, integrations and services support JMeter
VS
Challenges With Gatling Tool
What can be Improved for Gatling
● Easier start for beginners
● Rich real-time report
● Reports storage - collaborative and persistent
● Distributed testing
● Startup time
Introduction to Taurus
http://gettaurus.org
Overview of Taurus
● Simplified scripting
● Convenience for everyday users
● Automation-oriented
● Reporting and scaling
● Simplification for beginners - Scala, files layout, load
● Adds rich real-time reports
● Enables persistent reports storage
● Enables distributed tests
● Enables heterogenous tests (Gatling + Selenium)
Value of Taurus for Gatling Users
Live Demos
+
Demo: Simplified Scripting
● HTTP requests, headers
● Assertions
● Simplified load injection settings
+
Demo: Real-Time Reporting
● Console dashboard is enabled by default
● BlazeMeter reporting, not requiring an API key
● With API key, reports are persistent and have trends
+
Demo: Cloud Scaling
● Distributed testing with 100s of machines
● Multi-geo tests enablement
● Reports and KPI trends
+
Final Summary
1. Gatling is very similar to JMeter
2. Requires more technical skills
3. Taurus mitigates its problems
4. BlazeMeter for reports and scaling
Q&A Time
Next Steps
● Create your free account at blazemeter.com
● Taurus – gettaurus.org
● Gatling – gatling.io
● Performance Testing Blog – blazemeter.com/blog
● Learning Resources – blazemeter.com/resources
Stay tuned!