Timers in JMeter are incredibly important when it comes to the balance and pace of your performance tests, we are going to look at the Timers that ship with the standard JMeter installation in this Blog post but there are others that are available as a Plugin and hopefully this post will encourage you to investigate these further.
This post is about Kafka and the process I have been through recently writing a performance test for an application that subscribes to messages from this technology.
The test I ended up with was in the end very straightforward but there were several hurdles that took a while to resolve. I hope that reading this post will hopefully help you avoid them.
The performance testing concepts we will discuss are focused on how to publish messages onto a Kafka topic and will not discuss how to write a test to consume messages from Kafka. We wanted to focus first on some of the concepts of adding messages and we will look at the consumption in a later post.
If you are performance testing an application that subscribes to a Kafka topic then the consumption of messages will be performed by the application you are testing, and therefore you will not need a consumer test.
You will mostly be performance testing an application that consumes from Kafka and would probably only want a consumer if you were testing your implementation of Kafka.
Before we start let’s take a high level look at what Kafka is and how it works.
"Let’s use this tool or that tool instead of JMeter as it’s the latest", I hear this a lot.
"We need a lightweight tool without the GUI interface to write our tests as that will make us more agile", I hear this a lot.
It’s all nonsense it really is, there seems to always be a call for using the most modern technology for all forms of testing whether its Performance Testing or Automated Functional Testing and the result of this is that the people writing the tests spend to long learning the new tools and not enough time building something that will ensure the software being developed is the best it can be.
I am conscious that the above statement is a bit or a generalisation and there are some exceptions but for many organisations this is true.
The aim of all these tools is the same thing, to support your QA journey through to the delivery of a robust, well performing piece of software, the tools you use to accomplish this are not important if you have a robust modular framework in place, and you have a sensible approach to data management and reporting.
We are going to look at in this post the reason why JMeter is so good at what it does and why just because it is considered old technology by some still makes it the right choice for many testing professionals.
JMeter in its vanilla form is a very powerful tool for performance testing, the ability to create complicated test scenarios using the out-of-the box samplers, timers and logic controller can sometimes be extremely difficult and require you to write your own complimentary code.
There are however Plugin’s that exist that can help in building some of the more challenging scenarios.
In this post we are going to look at some of these and discuss how they can be used.
The correct way to install plugins when running locally is to use the Plugins manager by selecting Options -> Plugins Manager from the JMeter menu or selecting the Plugins Manager icon.
What does statistical analysis have to do with performance testing you may ask, more than you would think is the answer.
Due to the large volumes of result data that is generated and analysed you are performing statistical analysis of your data when presenting your results.
- 90th Line,
- 95th Line,
- 99th Line,
- Average,
- Median.
Are all examples of values in the JMeter Aggregate Report.
Average,
Std.Dev.
Are examples of values in the JMeter Summary Report as well as the Graph Results.
We are going to take a look at these statistical techniques so you can understand, if you don’t already know, how they are calculated as well as how they can be of benefit when analysing performance test results.
We will also look at other statistical techniques that you can use outside of JMeter by using the .jtl file output, we will use Microsoft Excel for our analysis but other spreadsheet type tools are equally as good.
As way of a disclaimer there are many ways of analysis data, far too many to go into in this Blog Post but hopefully reading this will encourage you to explore this subject further as it can be fascinating.
For each way of analysing the results we will look at its definition, look at an example and discuss how it can be of use when presenting results.