JMeter series
Introduction
Previously in Jmeter series:
- The basics: HERE
- Recording and storing: HERE
- Creating HTTP(s) request: HERE
- And we have already „Listenered”:
In this article, we examine an important practical part of how to handle and process test results in the simplest way. For this, we will also show you how you can convert the saved csv into a format that is “enjoyable” for Excel and the human mind.
First steps
Given a test result saved in a csv file. You can save using Summary Report or View Results Tree, the saved data will be the same. Both have a configure button, click on which you can choose what data you want to save.
To be able to use the saved csv in Excel, it will be necessary to modify the csv. Open the csv with a simple text editor (e.g. notepad) and replace the commas with semicolons (Ctrl + H). If you are satisfied with this, you can open the csv file in Excel.
If Excel uses Hungarian settings, after the previous change, the dots in the numbers must be replaced with commas so that Excel interprets them as fractions and not as text.
Interpreting columns
A lot of data is clear. We only describe those that are not absolutely clear or require formal modification for human “consumption” of the data.
TimeStamp
This will be a very long number, which is actually a time value. Specifies the exact time the request started. Below you will find how to convert this into a „human-readable” date-time format.
Elapsed
Specifies the number of milliseconds elapsed from the start of the request until the full response is received.
Latency
Specifies the number of milliseconds that elapsed between the end of the request and the beginning of the response.
Connect
Server connection time in milliseconds.
grpThreads
The number of currently active parallel threads (users). What is important here is that these channels are not active when the request is sent, but when the response arrives. That’s why it’s worth creating a column where you calculate the time it takes for the answer to arrive. We’ll show you how to do this below.
allThreads
All threads.
Edit table
These changes help make the data more readable.
StartTime
Let’s add a new column to our table called StartTime and use the following equation:
=((TimeStamp+3600000) / 86400000)
The TimeStamp is replaced by the address of the cell next to it, containing a long number (Ex.: “C2”). Set all the cells of the column to the hh:mm:ss time format and thus you can see the exact time when the request started.
EndTime
This is important information, because most of the values per record refer to this time (eg: grpThreads). JMeter does not create this field, but it can be calculated from the values provided.
Let’s create an EndTime column, for which we use the previous equation with a small modification.
=((TimeStamp+3600000+Elapsed) / 86400000)
Elapsed is the address of the cell belonging to the elapsed column. E.g.: D2 (So this formula looks like this in the example below in cell B2:
=((C2+3600000+D2) / 86400000)
Here too, set the cells to hh:mm:ss time format and you will get the time when the answer was closed.
Summary
We only based the interpretation of the report. In stress tests, not only the design and execution, but also the interpretation of the results is an extremely important task. The topic is inexhaustible. After each solution, another puzzle arrives. For example: What is the real difference between grpThreads and allThreads? Okay, we can see the values, but what should we look for? What is bad and what is good value here?
Well, we will have to talk about these.
Until then, happy report-creating!
Keep it going!