Book Image

Master Apache JMeter - From Load Testing to DevOps

By : Antonio Gomes Rodrigues, Bruno Demion (Milamber), Philippe Mouawad
Book Image

Master Apache JMeter - From Load Testing to DevOps

By: Antonio Gomes Rodrigues, Bruno Demion (Milamber), Philippe Mouawad

Overview of this book

Load tests help identify the maximum number of requests a software system can handle. One popular open source tool for load testing is JMeter. By leveraging the features and capabilities of JMeter, you can perform extensive load testing and fix issues in your application before they become problematic. This book is written by JMeter developers and begins by discussing the whole process, including recording a script, setting it up, and launching it, enabling you to almost immediately start load testing. You'll learn the best practices that you must follow while designing test cases. You'll also explore the different protocols offered by JMeter through various real-world examples. Finally, you'll see how to integrate JMeter into the DevOps approach and create professional reports. You'll discover ways to use the eco-system of JMeter to integrate new protocols, enrich its monitoring, and leverage its power through the use of the cloud. By the end of this book, you'll know all that's needed to perform comprehensive load testing on your applications by using all the best practices and features of JMeter.
Table of Contents (14 chapters)

Running Your Test on the Command Line with Taurus

Taurus (https://gettaurus.org/) is a command-line tool for running load test scripts from various tools, including JMeter.

To perform a JMeter test, it's easy:

     bzt myscript.jmx

The advantage over the classic JMeter command line is that this provides more information while running:

Figure 11.4: Taurus

If you want to use more advanced features of Taurus, you need to create a YAML file – let's call it demo.yml. Be careful: the YAML syntax is very sensitive to indentation.

In the following example, we will do three things:

  1. Define how the load will be injected (ramp-up, plateau, and so on) by this syntax:

    execution:

    - scenario: existing

     competition: 10

     hold-for: 10s

     ramp-up: 30s

    scenarios:

     existing:

         script: demo.jmx

    We tell Taurus to run the demo.jmx script with 10 threads by setting a ramp from 0 to 10 virtual users in 30 seconds, then a virtual...