There are certain situations where you may need to run JMeter tests with attached files above file size and count limits of your RedLine13 subscription. In this brief guide, we will walk you through how to upload data files above this limit by hosting extra files in AWS S3.
Enabling the JMeter File Download plugin
The first step is to make sure the “JMeter File Download” plugin is installed on your RedLine13 account. Navigate to “Your Plugins” under the main “Account” menu:
From there, you will want to add the “JMeter File Download” plugin from the list by clicking on the “+” icon:
Once installed, it will show up under the “Installed” plugin listing.
Setting up an AWS S3 bucket
The next few steps deal with uploading your extra files to AWS S3. In your AWS console, select the S3 service:
Then create an S3 bucket for your files:
The bucket name we have given ours in this example is “jmeter-storage-example“. Open the bucket and select “Upload” to add your files:
If you have a single file, you can simply upload that file. If you have multiple files, they will have to be archived together as a TAR or TGZ file, which will in turn be extracted on your load agent. These files end up in the “./downloads” folder on your load agent instances. Accordingly, the path to a file named example.txt will be “./downloads/example.txt“. Below we have added “jmeter-files.tgz“:
If we select our uploaded file in S3, we can view its properties. The “Object URL” can be copied here. This is what we will need to access the file from our RedLine13 test:
Tying it all together
Back in RedLine13, if we create a new JMeter test, you can find the “Plugins for JMeter Tests” subsection under “Advanced JMeter Test Options” near the bottom of the page. Check the box next to “JMeter File Download” to enable that plugin. This should open the box as shown below (with the blue outline). Inside the “File to Download to Load Agents” text box, paste the “Object URL” copied from the previous step. Since this file is a TGZ archive and we want to extract it on the load agent, we have also checked that option:
At this point, when we run the load test, the files contained within “jmeter-files.tgz” will be downloaded from S3, extracted to “./downloads/…“, and available on our test instance. Therefore, we would reference downloaded files in JMeter as follows:
This effectively moves the upload size limit to 160GB if uploaded to S3 from the console (or up to 5TB if uploaded using the AWS CLI or API, documentation here), and for practical purposes makes the file count unlimited.
(Note: One additional consideration you may have might be securing your S3 endpoint, which is possible using a pre-signed URL.)
If you don’t already have a RedLine13 account, we do offer a trial which will allow you to try the procedure detailed here for yourself. Sign up today and get started!