Load testing with Taurus/Jmeter and logging the results to ElasticSearch

Logging — ES and Kibana:

For the purposes of the run-through we will use the ELK stack running locally in a docker container

The Breakdown

Env folder structure and config:

  • datafiles contain the the csv data files, while not used in the demo they can be called from here
  • scripts contain the Jmeter jmx files to be executed
  • workingdirectory for the test artifacts
config.yaml
  • The defaults for steps, rampup, hold time and the concurrency. These can be overridden by the command line switches
  • Can also set the script and datafile directory from the config.yaml.env settings and test configuration:
.env file
  • UAT, PT and DEV set the working directory where the test artifacts are created
  • The Threads, Steps, Rampup and Hold can be set here by replacing these in your build pipeline
  • #{foo}# is replaced in the CI
entrypoint.sh
docker-compose.yml
  • Sets the network IP address to be on the same network as the ELK stack
  • Sets the variables called from the .env file
  • Maps the working directory to save the test artifacts to the host
  • Sets the base image and uses jdk 10 slim
  • Sets the Jmeter path
  • Copies the file structure from the test directories (pt)
  • Copies across Jmeter 4.0.2
  • Sets the entrypoint to launch BZT
  • Install Taurus

--

--

Engineer, Consultant, Trainer, Learner, SRE, DevOps and Hiker

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Scott Griffiths

Scott Griffiths

Engineer, Consultant, Trainer, Learner, SRE, DevOps and Hiker