Top JMeter Plugins

Top JMeter Plugins

Apache JMeter is a powerful tool for Load Testing and Performance Testing . You know what? One of the most exciting features of Apache JMeter is that it is an Open Source Software. Yes! You heard it right. This allows any curious developer to develop code to extend JMeter functionality. These additions are known as Plugins.

Plugins aid in extending the functionality of the software. Developers have already created a large variety of plugins.

The JMeter Plugins Website lists all the available plugins. At present, there are 76 plugins available on the website. All you need to do is search and find a plugin that best suits your needs.

I got top JMeter plugins from the JMeter Plugins Website which shows the Usage Statistics according to which Plugins are rated in the order from Most Popular to Least Popular. The website contains more information like Documentation and Support Forums.

As you can see from the snippet above, The list shows the Top 10 JMeter Plugins.

NOTE: This is Monthly Data. So it might fluctuate at the time of blog post-reading.

Now Let’s begin by discussing these plugins in detail covering installation, usage, and basic characteristics. We will be discussing the Plugins in the hierarchy beginning with the most popular to the least popular.

1. Winner-Plugins Manager You might be wondering what is so special about this Plugin that it is at No.1 place. Downloading and Installing plugins in JMeter cannot be done directly. They need a catalyst to do this job. This catalyst is none other than the Plugins Manager. The user needs to install the Plugins Manager before any other Plugin. This is the easiest and most convenient way to manage Plugins in JMeter.

How to Install Plugins Manager:

  • Download plugins-manager.jar
  • Put it in the lib/ext directory.
  • Restart JMeter.
  • Click “Options” and then “Plugins Manager”.

You might be still thinking about what is special about the Plugins Manager that makes life so easy. The answer is that all other Plugins don’t need special download and installation. To download a Plugin all one needs is to click the checkbox in front of the name of the desired plugin inside the Plugins Manager Window.


The Plugins Manager has three tabs: Installed Plugins, Available Plugins, and Upgrades.

Installed Plugins: This tab shows the list of installed plugins, a description area, and a review change area, at the bottom.

Available Plugins: This shows the list of available plugins with a description and review area at the bottom. You can use the search button to find the best-suited plugin.

2. ?Basic Graphs

Basic Graphs was designed to serve 3 purposes or we can say it adds 3 types of listeners to the JMeter, serving 3 very important tasks:

  • Active Threads Over Time: This is used to show the list of Active Users in each Thread during a test run.
  • Response Times Over Time: This is used to calculate the average response time.
  • Transactions Per Second: This shows the successful/ failed transactions per second.

These Listeners provide data in the Graphic form, enabling you to better analyze the results and decide what steps to take in the future.

The Plugin can be downloaded through Plugins Manager by selecting the checkbox in front of 3 Basic Graphs in the list of available Plugins.

a. Active Threads Over Time: This Listener shows the list of concurrent users active in each thread group during a test run.

How to Add:

  • Right-click on Sampler(HTTP Request)→Add→Listener→jp@gc-Active Threads Over Time.

NOTE: I have added this Listener to the Test Script Generated in the previous step and then executed the scrip

.

This shows the graph generated using listener active threads over time.

b. Response Times Over Time: This Listener shows the average response time for each sampler during a test run.

How To Add:

  • Right-click on the Sampler(HTTP Request)→Add→Listener→jp@gc-Response Times Over Time.

c. Transactions per Second: This Listener shows the number of successful and Failed transactions for each sampler during a test run.

This Listener offers 2 types of Graphs: Detailed Display: where one row is meant for each sampler and Aggregated Display: where all samplers are combined.

How To Add:

  • Right Click on Sampler(HTTP Request)→Add→Listener→jp@gc Transactions Per Second

3. Custom Thread Groups The Custom Thread Groups add 5 Thread Groups: Stepping Thread Group, Ultimate Thread Group, Concurrency Thread Groups, Arrival Thread Groups, and Free-Form Arrivals Thread Group. These thread groups offer a great opportunity to create custom required schedules for the test run.

The Plugin can be installed via the Plugins Manager from the “Options” Menu.


a. Stepping Thread Group: The stepping thread group is a deprecated version. It is a way to create a non-linear stepping schedule for the thread run.

How to Add:

  • Right Click on Test Plan→Add→Threads(Users)→jpgc-Stepping Thread Group(Deprecated).

b. Ultimate Thread Group: This Thread Group aims at providing the user with the flexibility of creating almost any type of schedule with almost any type of configuration, in the Threads Schedule Table. It is designed to add flexible test scheduling to your test scenario.

How To Add:

  • Right Click on Test Plan→Add→Threads(Users)→jp@gc-Ultimate Thread Group

c. Concurrency Thread Group: If you remember we have mentioned earlier that Stepping Thread Group is deprecated. So here is a good alternative for it, if in case it is removed from future versions. Concurrency Thread Group is the solution. It helps to create a Stepping schedule for the thread runs.

How To Add:

  • Right-click on Test Plan→Add→Threads(Users)→bzm-Concurrency Thread Group.

d. Arrival Thread Group: This thread group works on the concept of thread arrival rate to determine the load. “Arrival” here means the start of thread iteration.

How To Add:

  • Right Click on the Test Plan→Add→Threads(Users)→bm-Arrival Thread Group

e. Free-Form Arrivals Thread Group: As the name suggests Free-Flow Arrivals Thread Group works with the Arrival schedule but it provides a way to create a flexible schedule.

How To Add:

  • Right-click on Test Plan→Add→Threads(Users)→bzm-Free-Form Arrivals Thread Group.

4. PerfMon (Serves Performance Monitoring)

This Plugin adds a Listener “PerfMon Serves Monitoring Performance”. Listener allows us to monitor CPU, Memory, Network I/O, Disk I/O, and Swap of the loaded servers.

How to install:

PerfMon Plugin can be installed by clicking the checkbox in front of the PerfMon name in the Plugins Manager.

How To Add:

  • Right-Click on the Test Plan→Add→Listener→jp@gc-PerfMon Metrics Collector.

Dummy Sampler emulates the work of requests and responses without actually running the requests, thus providing a very easy and convenient way to debug post-processors and extractors. The Request and Response data are defined in the sampler’s field.

How To Install:

  • The Plugin can be installed via Plugins Manager by clicking the checkbox next to the Dummy Sampler and Restarting the Apache JMeter.

How To Add:

  • Right-Click on Thread Group→Add→Sampler→jp@gc-Dummy Sampler.

Here is what the dummy sampler looks like after the Test Plan is executed. Looking at the results in the ViewResultsTree.

5. Throughput Shaping Timer This plugin adds 3 functionality to the JMeter:

  • Throughput Shaping
  • Special Property Processing
  • Schedule Feedback Function

a. Throughput Shaping Timer:

How To Install:

  • The Plugin can be installed via Plugins Manager by simply selecting the checkbox in front of the Throughput Shaping Timer Option in the list of Available Plugins.

How To Add:

  • Right Click on Thread Group→Add→Timer→jp@gc-Throughput Shaping Timer

As you can see from the image above, the Timer has a fixed schedule table and a preview graph which makes it easier to control a load during the test run.

b. Special Property Processing:

This feature provides users with the ability to process a JMeter property “load_profile”. This property specifies a load pattern with a set of function-like declarations. These Declarations can be of 3 types:

  • const(N, T): const holds a constant hold of N requests per second for T number of seconds.
  • line(N, K, T): line generates a linear increase of the load from requests increasing from N to K per second for T number of seconds.
  • step(N, K, S, T): step generates a stepping load from N requests per second to K requests per second, each step height will be S requests per second, and each step duration will be T seconds.

The main advantage of reading about this property is we can set up requests per second throughput with the JMeter.properties file or we can set up requests per second with the command line while running the JMeter.

Example: load_profile=const(30,20s) line(30,100,1m)step(5,20,5,5m)

c. Schedule Feedback Function:

This function enables a feedback loop for the number of threads. The job of the feedback loop is to see if enough number of threads are running at any time. It also provides additional threads if the criteria are not met i.e. if requests per the second schedule are not achieved during test runs.

Example: ${tstFeedback(ThroughputShaping(1,500,50)}

Here, Throughput_Shaping is the Throughput Shaping Timer to integrate with. 1 is the number of starting threads. 500 is the number of max threads allowed. 50 is the number of spare threads to be kept in the thread pool. So, this function will be able to increase the number of threads up to 500 in case the request per the second schedule is not met during the test run. sting here .


To read more please continue at: https://www.frugaltesting.com/post/top-jmeter-plugins


Ashok Kumar C

AVP - Strategic Global QA | Expert in Software Quality Assurance & Leadership | Experienced in Tech & AI Solutions/ Certified Lean Six Sigma Black Belt from TUV SUD

8 个月

Impressive insights! The plugins for JMeter truly unlock a vast array of opportunities in performance testing.

要查看或添加评论,请登录

Frugal Testing的更多文章

社区洞察

其他会员也浏览了