SlideShare uma empresa Scribd logo
1 de 21
Open Source Load Testing -
JMeter, Gatling & Taurus
Guy Salton
Sr. Domain Expert
Agenda
1. Introduction to the 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
● 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 code
● 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
Problems of Gatling Tool
What can be Improved for Gatling
● Easier start for beginners
● Rich real-time report
● Reports storage - collaborative and persistent
● (no) 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 (through BlazeMeter)
● Enables distributed tests (through BlazeMeter
● Enables heterogeneous 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 and Cloud Scaling
● Distributed testing with 1000s of machines
● Multi-geo tests enablement
● Reports are persistent and have 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!

Mais conteúdo relacionado

Mais procurados

LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance Testing
Atul Pant
 
Performance Testing With Loadrunner
Performance Testing With LoadrunnerPerformance Testing With Loadrunner
Performance Testing With Loadrunner
vladimir zaremba
 

Mais procurados (20)

An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance Testing
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentation
 
Types of performance testing
Types of performance testingTypes of performance testing
Types of performance testing
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
 
QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
 
Performance testing interview questions and answers
Performance testing interview questions and answersPerformance testing interview questions and answers
Performance testing interview questions and answers
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+Cucumber
 
An Introduction to Software Performance Engineering
An Introduction to Software Performance EngineeringAn Introduction to Software Performance Engineering
An Introduction to Software Performance Engineering
 
Non-Functional testing
Non-Functional testingNon-Functional testing
Non-Functional testing
 
LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance Testing
 
Fundamentals Performance Testing
Fundamentals Performance TestingFundamentals Performance Testing
Fundamentals Performance Testing
 
Testing your APIs Performance.pptx
Testing your APIs Performance.pptxTesting your APIs Performance.pptx
Testing your APIs Performance.pptx
 
Apache jMeter
Apache jMeterApache jMeter
Apache jMeter
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunner
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter
 
Karate - Web-Service API Testing Made Simple
Karate - Web-Service API Testing Made SimpleKarate - Web-Service API Testing Made Simple
Karate - Web-Service API Testing Made Simple
 
Performance Testing With Loadrunner
Performance Testing With LoadrunnerPerformance Testing With Loadrunner
Performance Testing With Loadrunner
 
Automated Test Framework with Cucumber
Automated Test Framework with CucumberAutomated Test Framework with Cucumber
Automated Test Framework with Cucumber
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 

Semelhante a Open Source Load Testing: JMeter, Gatling and Taurus

Semelhante a Open Source Load Testing: JMeter, Gatling and Taurus (20)

Gatling
Gatling Gatling
Gatling
 
Performance Test Automation With Gatling
Performance Test Automation  With GatlingPerformance Test Automation  With Gatling
Performance Test Automation With Gatling
 
Liferay portals in real projects
Liferay portals  in real projectsLiferay portals  in real projects
Liferay portals in real projects
 
Modern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving EcosystemsModern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving Ecosystems
 
Integration testing - A&BP CC
Integration testing - A&BP CCIntegration testing - A&BP CC
Integration testing - A&BP CC
 
Fastest Servlets in the West
Fastest Servlets in the WestFastest Servlets in the West
Fastest Servlets in the West
 
Find the bottleneck of your system
Find the bottleneck of your systemFind the bottleneck of your system
Find the bottleneck of your system
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scale
 
Big data Argentina meetup 2020-09: Intro to presto on docker
Big data Argentina meetup 2020-09: Intro to presto on dockerBig data Argentina meetup 2020-09: Intro to presto on docker
Big data Argentina meetup 2020-09: Intro to presto on docker
 
Bdd test automation analysis
Bdd test automation analysisBdd test automation analysis
Bdd test automation analysis
 
LCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at LinaroLCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at Linaro
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
 
Logging for Containers
Logging for ContainersLogging for Containers
Logging for Containers
 
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDMulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
 
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
 
Prometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is comingPrometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is coming
 
Getting started with karate dsl
Getting started with karate dslGetting started with karate dsl
Getting started with karate dsl
 
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
 

Último

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Último (20)

%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 

Open Source Load Testing: JMeter, Gatling and Taurus

  • 1. Open Source Load Testing - JMeter, Gatling & Taurus Guy Salton Sr. Domain Expert
  • 2. Agenda 1. Introduction to the Gatling Tool 2. Gatling Compared with JMeter 3. Introduction to Taurus 4. Live Demos 5. Q&A Section
  • 4. Key Features of Gatling ● Command-line tool ● Scala language for scripting ● Post-test HTML reports
  • 5. 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
  • 6. Demo: Basic Usage of Gatling ● Package, imports, simulation class ● Simulation ≈ scenario + injection profile + protocol ● Simulation file placement ● Simulation file naming convention
  • 8. Scripting Approach ● Simple GUI vs Scala for techies ● In JMeter you see one component at a time / Scala is code ● 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
  • 9. 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
  • 10. 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
  • 12. What can be Improved for Gatling ● Easier start for beginners ● Rich real-time report ● Reports storage - collaborative and persistent ● (no) Distributed testing ● Startup time
  • 14. Overview of Taurus ● Simplified scripting ● Convenience for everyday users ● Automation-oriented ● Reporting and scaling
  • 15. ● Simplification for beginners - Scala, files layout, load ● Adds rich real-time reports ● Enables persistent reports storage (through BlazeMeter) ● Enables distributed tests (through BlazeMeter ● Enables heterogeneous tests (Gatling + Selenium) Value of Taurus for Gatling Users
  • 17. Demo: Simplified Scripting ● HTTP requests, headers ● Assertions ● Simplified load injection settings +
  • 18. Demo: Real-Time Reporting and Cloud Scaling ● Distributed testing with 1000s of machines ● Multi-geo tests enablement ● Reports are persistent and have trends +
  • 19. 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
  • 21. 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!

Notas do Editor

  1. Gatling is a cross-platform JAVA application Its main purpose is for load and performance testing It has no gui, no web ui, only command line tool style of usage It uses Scala language for scripting – Scala is very much like java, and the whole gatling tool is build with Java and runs on top of JVM. Scala has some specific features which differs it from Java.
  2. Gatling is very good with flexibility of the load injection profiles - out of the box its capabilities are superior to jmeter. It can be compared to Jmeter+plugins Gatling uses Asynchronous concurrency model - It doesn't’t require a operating system thread for each virtual user, instead it uses Asynchronous model where 1 thread can serve many virtual users and many connections. Many users like this because it lets you generate many users from a single machine.
  3. To install gatling just unpack the zip folder BasicSimulation.scala Package declaration which is optional Set of imports we need to reference the gatling dsl instructions for our Scala script We declare the simulation file - this is one of the key things, it specifies the test execution Then the actual configuration for the protocol: http target http with some headers, our protocol definition which we will use later and the scenario flow itself The scenario is the sequence of steps to perform which represents the virtual users behavior Last, on the setUp part, we specify the load profile and specify which protocol to use (Httpconf that we configured before) Command line to run gatling: This is the command Line to run: ~/.bzt/gatling-taurus/2.3.0/bin/gatling.sh -sf . -m we set the simulation folder parameter to the current directory in my case -m makes it more silent (if we don’t use it, gatling will ask me a lot of questions) it take a few seconds for gatling to start and then if I have several simulations declared in the same directory, it will ask me which one to use It ran my test, the test specifies just 1 iteration so its really fast, it gives me some basic numbers and also a hyperlink to an html report that I can open in a browser this is the report of gatling tool, this is the basic gatling usage Simulation is the joint is scenario+injection profile+protocol You should point gatling to the location of your simulation file There is also an important simulation files naming convention - the file holding the simulation, should match the name of the simulation class because of JVM usage, the way to resolve the classes and find classes is to have matching names
  4. Gatling and JMeter mostly match to each other in terms of throughput that they can produce Scripting approach is the major difference JMeter is easier to start with for non-technical people - it doesn’t require knowledge of java naming conventions or programming language structures
  5. if we compare gatling to jmeter+plugins than the load profiles match Arrival based injection is when you look at your google analytics and see that within an hour, you see 500 users coming to your website and doing their job and then leaving - this means that you don’t always know the amount of concurrent users but you only know your arrivals amount.
  6. No rich real-time report - this is crucial as in modern load testing, you can’t allow yourself to run a 1 hour load test and see the results only after 1 hour. This is a really important gap We need our reports to be collaborative and persistent because we don’t work alone! We work in teams, usually multi-geo teams and we need the abiliy to share reports of tests, even before the tests are completed. We need the ability to see trends and compare the results of today’s test to the test that we ran 1 month ago and see if there was an improvement - usually there will be a segregation in performance and we will need to pay additional attention to improve and and more resource on performance. just having a couple of reports laying around is simply not enough for modern performance testing There is simply no distributed testing in gatling - in jmeter there is some and it has limitation but gatling is simply limited to running only on 1 machine out of the box  For large tests, it takes a bit of time for it to startup but this is deep inside gatling and we can’t really do anything to fix it
  7. We tried to collect the solutions for typical problems of jmeter, gatling, selenium and other open-source tools in Taurus File layout - you don’t need to think about where to place your files and how to specify command line parameters for gatling
  8. Show gatling-req.yml and run it. Show the artifact with Scala script that was generated Show gatling-existing.yml
  9. Show gatling-req.yml -cloud Show trend charts Show ‘bzt-locations’ and then multi location gatling test and run it - show previous test that I ran on multi locations
  10. gatling works on the protocol level so it doesn’t parse and execute Ajax requests automatically, you will have to record the interaction between the web page and the backend, and then use the generated script to simulate the network level of the communication. this is the same for jmeter - jmeter does its best to parse the static requests from responses, but for Ajax requests you have to program or record the jmeter script to do the Ajax requests (same thing for gatling)