Skip to content

JMeter

Push to production pipelines and JMeter

This post does not look at a particular aspect of JMeter nor does it give a detailed overview of how to use a particular tool that will compliment your performance testing with JMeter.

What it is about is the principles of push to production pipelines and performance testing and while I have stated that this post is not specifically about JMeter in my experience JMeter is one of the best performance testing tools for this type of pipeline integration.

What problem are we trying to solve

Let’s consider how the world of application and technology development is moving.

Everyone seems to be focussed on Agile delivery and shifting their testing to the left and if done correctly and if Agile principles are followed this can be very successful.

We've already discussed about shift left testing and the principles behind the execution of JMeter tests from a Jenkins pipeline on this blog.

Now this is all good and speeds up the testing and ultimately the time for the product to reach production but there is a move towards using CI/CD tools ensure that Application definitions, configurations, and environments should be declarative and version controlled.

In essence if the tools detect a change to any aspect of your application or infrastructure through version control then a pipeline is spawned to ensure that they are all in sync.

Dynatrace integration with JMeter

Dynatrace is a cloud monitoring platform and is used by many organisations to measure the performance of their production systems and to set thresholds against which performance tolerance are measured.

During testing Dynatrace can be used to monitor how the application under test responds during your performance tests as well as providing the capability to drill down into performance issues you may need to investigate.

This is not a blog post on Dynatrace and how it works as that would consume the whole post, this is a post on how you can get your performance tests writing to Dynatrace and some simple ways to monitor the output of these tests.

Once you can see the results of your tests in Dynatrace you can then investigate what use you can make of the data using the Dynatrace documentation.

Run JMeter test from GIT using Jenkins

You may have heard the term shift-left testing which is essentially moving the testing to an earlier stage in the project lifecycle, essentially the activity is moved to the left on the project timeline.

The benefits of testing earlier have always been understood but not always happened when we consider performance testing which in some cases is still left until the very end of the delivery process.

With many organisations that use an Agile Approach to development, having a shift-left approach to performance testing becomes important as otherwise this may impact on your Continuous Integration / Continuous Delivery ambitions if every couple of weeks you have to wait for a performance or scalability or soak test to be run before promoting your code to production.

In this post we are going to look at how we can execute our performance tests on a regular basis in parallel with the development activity using the tools that development teams use.

We are going to look at running a simple performance test using Jenkins with tests that are version controlled in a GIT repository and whilst it is a simple example it will give you an understanding of the process for you to expand on and shows how your tests can be run using technologies used to deliver the code to testing environments and production, effectively integrating your performance testing into the development activity.

The Complete Guide of JMeter Controllers

In this blog post we are going to look at several JMeter Controllers, specifically:

This is not an exhaustive list of controllers that JMeter offers but these once will give you a clear insight into how controllers are integral in defining load testing scenarios and how without them you will struggle to build complex and indicative load tests.

Technically JMeter has two types of controllers and these are categorised as Samplers and Logical Controllers, the controllers we are looking at in this post are the Logical Controllers that allows you to customise how JMeter delivers requests to meet your load profiles.

Let’s look at the logical controllers with some examples of how they can be used, our tests will consist of Dummy Samplers as this is the simplest way to demonstrate how the various Controllers work. You can follow along each example by downloading the JMX here.

A complete look at JMeter's FTP and SSH SFTP samplers

While the File Transfer Protocol is one of the original protocols used in the early adoption of the internet it remains a fundamental part of modern computer networks.

In this post we will look at the way the JMeter can support you in performance testing FTP and SFTP.

SFTP is a more recent development to provide a layer of security over the original protocol to make it more suitable for the modern internet and is different to FPT in many ways.

Whilst SFTP is considered more appropriate for modern systems there are still many applications that rely on, and implement, FTP and therefore we will look at how we can test both.

If you want to follow along, a JMX file containing all the steps detailed below can be downloaded here.