JMeter Plugins: The Top 10 Plugins and How They Help

One of the best thing about using a popular open-source tool like JMeter is the ability to choose from a wide variety of plugins. Here's a list of the ones we think are the most useful, as well as how to use them when you're running your load tests on Flood.

Why use JMeter plugins?

JMeter has long been the most popular open source load testing tool on the market.  JMeter load testing has become a popular way to test Web applications, Mobile applications, API’s, and more.  The community of JMeter users has grown tremendously, with millions of downloads all time.

One of the most popular aspects of using JMeter for load testing is its flexibility and extensibility. There are currently hundreds of plugins on the market that have been provided by the community to enhance the out-of-the-box functionality of JMeter.  As opposed to creating custom code to run in JMeter, plugins provide a more easy to install and maintain option for both new and experienced users of JMeter.

What are the top JMeter plugins?

There are as many opinions of the most useful plugins of JMeter as there are plugins itself.  As we strive for objectivity, we provided a review for the top 10 most popular JMeter plugins as tracked by JMeter-plugins usage statistics.  Jmeter-plugins has the most comprehensive list of plugin usage we’ve found on the market.

For each plugin, we’ve provided the following information:

Now, on to the ranking of top JMeter plugins you’ve all been waiting for!

Plugins Manager:

Total # of known users: 37413

Type of plugin: Other

Installed in flood: Yes, (stable: v0.19, 5.1.1: v1.3)

What it does: Helps to manage all of your plugins, to make it easier to add, remove, and upgrade your plugins within your JMeter installation. It provides a simple UI which removes the need to manually manage the .jar files related to your JMeter plugins

Why we like it: as users become familiar with JMeter, it is only a matter of time before they are using several plugins in each test.  As plugins have releases and the versions of JMeter change, we find it much easier to use the plugin manager than manage all of these changes manually.  Plus, helps to use this plugin manager to promote new and lesser known plugins which may help you to solve your testing challenge.

3 Basic Graphs:

Total number of known users: 22209

Type of plugin: Graph

Installed in Flood: Yes (stable: v2.0, 5.1.1: v2.0)

What it does: This simple plugin provides 3 graphs into JMeter for your analysis needs:

  • Average Response Time
  • Active Threads
  • Successful/Failed Transactions

The graph will show the selected metric with different colored lines for each of the samplers in the JMeter test plan:

Why we like it: For many just getting started with load testing or doing a quick inspection, these simple reports may provide enough information for their needs.  As far as free, easy to install, and simple to interpret reports, these fit the bill quite nicely.

Custom Thread Groups:

Total # of known users: 21264

Type of plugin: Thread Groups

Installed in Flood: Yes (stable: v2.5, 5.1.1: v2.8)

What it does: Adds new thread group types outside the traditional thread group in JMeter, which provides a linear ramp.  The new thread group types provide:

  • Stepping Thread Group: add a group of threads every x seconds, like a stairstep line
  • Ultimate Thread Group: a very customizable thread group plugin, allowing you to create custom graph types
  • Concurrency Thread Group: will add threads during test run time to achieve the desired concurrency
  • Arrivals Thread Group: creates new threads “on arrival” as needed to maintain concurrency
  • Free-Form Arrivals Thread Group: free-form scheduling, also of arriving users

Why we like it: for users used to other commercial load testing tools, they may feel JMeter falls short on it own when it comes to scheduling thread groups.  With this plugin, users can do pretty much whatever they want as far as user scheduling and ramp up.

PerfMon (Servers Performance Monitoring):

Total # of known users: 18942

Type of Plugin: Graph

Installed in Flood: Yes (stable: v2.2.2, 5.1.1: v2.2.2)

What it does: allows JMeter to collect information about server-side metrics by using an installation of PerfMon.  Using the SIGAR open source project, the agent is able to collect a variety of different metrics from the server side, which are then available for basic reporting within JMeter.

Why we like it: JMeter itself is only able to monitor Tomcat metrics.  By adding in Perfmon, there are now 75+ metrics available for monitoring, including the most commonly requested metrics around CPU, Memory, Network I/O, TCP, and other custom metrics. Combining these metrics with the front end focused metrics from JMeter gives a more complete picture of complete system performance.

Dummy Sampler:

Total # of known users: 17839

Type of Plugin: Sampler

Installed in Flood: Yes (stable: v0.2, 5.1.1: v0.2)

What it does: The Dummy Sampler creates the exact type of response you are looking for, so you can have faith that the sampler is acting as you expect. Having a specific response code or response time can help in validating that your extractors, assertions, etc. are working as you expect in your script.

Why we like it: when dealing with complex tests with multiple assertions or extractors, it is always easier to use the dummy sampler to take out as many variables as possible. By enabling the dummy sampler, it will remove potential failure points in your test and ensure the errors are not being caused by unexpected system behavior.

Throughput Shaping Timer:

Total # of known users: 16533

Type of plugin: Timer

Installed in Flood: Yes (stable: v2.2, 5.1.1: v2.5)

What it does: this timer should be used when trying to target a specific rate of requests per second/requests per minute. If this Timer is paired with Concurrency Thread Group using Schedule Feedback Function (tstFeedback), we will be able to model closed workload scenarios, which in simple words would be using the Response Time as feedback to spin up more or fewer threads to achieve a certain number of RPS.

Why we like it: without this timer, testers will need to do fairly complex math of multiplying the response time * a number of requests per second/minute desired, and then dividing by 1000 to get the number of threads needed.  This plugin allows you to take the math out of the equation and simply define a target rate of requests per second. To make things even easier, you can ramp up and down the throughput at various times in your test plan.

Custom JMeter Functions:

Total # of known users: 16426

Type of plugin: Functions

Installed in Flood: Yes (stable: v2.0, 5.1.1: v2.1)

What it does: JMeter comes out of the box with a number of in-built functions that can support various needs of the tester.  For testers looking for functions missing from this list, this plugin will add several functions, some of our most used include:

  • chooseRandom - choose a random value from a list
  • env - retrieve the value of an environment value
  • If - a simple check to see if a statement is true
  • Iterationnum - returns the current iteration of the thread group

Why we like it: JMeter testers will inevitably reach a point where they will rely on functions to extend the capabilities of their JMeter test.  The list of included Jmeter functions is often limiting, and this plugin will open a number of new ways to extend your script without having to maintain custom code.

Flexible File Writer:

Total # of known users: 15301

Type of plugin: Listener

Installed in Flood: Yes (stable: v2.0, 5.1.1: v2.0)

What it does: Extends the capability of the popular Simple Data Writer.  With this plugin, users can better define the output of the exported results with a simple to use GUI.  Users can define their own columns, tabs, etc. in the data files that are exported via this plugin.

Why we like it: Many testers like to write their test results from JMeter to an external file for analysis and results storage.  When testers need a custom format to drive their reporting that is not available in the Simple Data Writer, this plugin can save time from needing to do a manual transformation of each test result.

Inter-Thread Communication:

Total # of known users: 15090

Type of plugin: Tool

Installed in Flood: Yes (stable: v0.2, 5.1.1: v0.2)

What it does: this plugin creates a First In, First Out (FIFO) queue between two samplers which can be located in different thread groups. Users can set up a connection to pass parameters, data, etc. between the samplers for passing data with ease.

Why we like it: often times, testers do not organize their tests well into distinct thread groups, and one of the common reasons why is the difficulty of passing data from one thread group to another.  With this plugin, users can organize their tests as desired and not have to worry about the impact of thread organization on sampler communication.

5 Additional Graphs:

Total # of known users: 14417

Type of Plugin: Graph

Installed in Flood: Yes (stable: v2.0, 5.1.1: v2.0)

What it does: like 3 Basic Graphs, this plugin adds some simple charts to the JMeter installation.  These charts will show additional charts not covered by 3 Basic Graphs, including:

  • Response Codes
  • Bytes Throughput
  • Connect Times
  • Latency
  • Hits/s

The graphs will be displayed in a similar format to the 3 Basic Graphs chart, similar to the screenshot below for Response Codes:

Why we like it: For many just getting started with load testing or doing a quick inspection, these simple reports may provide enough information for their needs.  For those that want more than what the 3 Basic Graphs provide, this will be a good option to explore.

Using JMeter plugins with Flood

Here at Flood, we love our JMeter Plugins.  So much in fact, that we install many of the most popular JMeter plugins by default.  For those that we don’t have installed by default, you can easily upload those .jar files to have them be executed with your .jmx test plan in Flood.

If you are interested to try running your JMeter tests in the cloud, please check out our free trial of Flood, where you can test with 5 free node hours provided for your evaluation.  If you have any feedback on this list or favorite JMeter plugins you’d like us to cover, please feel free to reach out to us to chat!

Start load testing now

It only takes 30 seconds to create an account, and get access to our free-tier to begin load testing without any risk.

Keep reading: related stories
Return to the Flood Blog