BeanShell is one of the most advanced JMeter built-in components. JMeter has rich built-in plugins which cover many needs of a performance test. For example, you might need some additional scripting while writing some complex tests. In such cases, it’s worth using Beanshell. In this post, we are going to be talking about testing complex logic with JMeter Beanshell and common use cases. Beanshell has the functionality to run java code and has access to JMeter APIs and external classes that are loaded in the JMeter classpath. JMeter has the following Beanshell enabled components: Beanshell Sampler. Beanshell PreProcessor. Beanshell PostProcessor. __BeanShell function. Beanshell Assertion. BelowRead More →


A while loop is a control flow statement that allows code to be executed repeatedly based on a given Boolean condition. It’s just a repeated IF→THEN statement. IF the condition is true, THEN execute the statements inside the IF block. JMeter implements this while loop by using the JMeter While Controller. The JMeter While Controller basically runs children Samplers and the controller continues to run until the condition becomes false in the condition field. The possible condition values could be: blank – When the condition is blank , the While Controller will exit when the last sampler in the loop fails. LAST – Exit loopRead More →

Rest APIs are increasingly popular these days.  They are also frequently being used in Microservices. In this guide, we are going to test REST APIs with authentication using JMeter.  We will see that HTTP Headers play a crucial role in access authentication. Introduction Let’s imagine you want to measure your Rest API request with JMeter and configure the request using JSON format and click the run button.  You will most likely receive an error from the server: “401 Unauthorized” because almost every REST API requires some authorization process.  To perform this authentication, before sending the request, we have to send a prior login request withRead More →

This document describes different types of JMeter thread groups and their usage. When talking about performance testing, a very important factor is to try to simulate the actual user behavior as best as possible. In JMeter, Virtual user groups are represented by Thread Groups. A Thread Group is a set of threads executing the same scenario. It is the base element for every JMeter test plan. There are multiple thread groups available which can be configured to simulate how the users interact with the application, how the load is maintained and over what period of time. Let’s explore each type of thread group in detail.Read More →

A question sometimes comes up: can you load test an AWS hosted site, that uses products such as AWS WAF, AWS CloudFront, and the AWS Elastic Container Service, with AWS Load Generators? The concern is that AWS networking may optimize routes and utilize internal large network pipes, etc.  The premise is that that will render the results inaccurate compared to real world results. Let’s look at Load Testing AWS from AWS and what you need to know. I won’t bury the lead. Load testing AWS from AWS can be done without worrying about network optimizations.  You can easily verify this, but if you still feel avoidingRead More →

The purpose of the SyncTimer is to block threads until X number of threads have been blocked, and then they are all released at once. A SyncTimer can thus create large instant loads at various points of the test plan. Here’s how you can use JMeter SyncTimer for Load Testing. An Example – A Registration System Let’s say you’re load testing against a Racing Registration system. You have a JMeter script that pulls user information from a CSV file and your Thread Group has the following steps: Contact Registration service, get the page for login. Login to Service Execute tasks in Racing Registration system, filling outRead More →


JMeter is an excellent open source load testing tool used by thousands of developers. If you’re one of them,  you may want to load test. JMeter can be used for load testing. JMeter Load Testing – Do It Yourself Scaling JMeter beyond 500-1000 users increases complexity and setup time. Additionally, JMeter reports are usually displayed at the end of the test and only exist locally. There’s no built-in way to share or collaborate. If you want to do it yourself, here is what you’ll need to consider to run load tests with JMeter. At the end, we’ll talk about the alternative of scaling out your JMeterRead More →


We have updated our Apache JMeter support to include 4.0.   When you start a JMeter Test you will now see the following versions available 2.13 3.1 3.3 4.0 JMeter 4.0 updates are detailed Running an Apache JMeter Test To run an Apache JMeter test read Running a JMeter Load TestRead More →

 We have added the ability to include any Apache JMeter plugin available on using JMeter Plugins Manager. This allows any load test to use the latest and greatest JMeter Plugin without copying files around. Just follow these steps to start dynamically using JMeter Plugins Manager. 1.  To make this functionality available you need to enable this functionality for your account. – – Select “JMeter Plugin Manager” – See what plugins you have installed. 2. Start a JMeter Test – Expand ‘Advanced JMeter Test Options’ – Enable ‘JMeter Plugin Manager’ – You now have the ability to search for plugins, select by version, and remove pluginsRead More →