This topic provides an overview of running Apache JMeter tests from Controller.
Note: This feature is released as a beta version.
JMeter tests overview
Apache JMeter is an open source load testing tool for analyzing and measuring the performance of a variety of services, with a focus on web applications. If you work with Apache JMeter tests, LoadRunner provides the ability to also run the tests through Controller.
By including JMeter (.jmx) scripts in your scenarios, you can run one or more JMeter tests side-by-side with any other LoadRunner protocol scenario, giving you a single entry point for executing your performance tests. As with other LoadRunner scripts, you can run your JMeter test on a local host LoadRunner machine or on a remote load generator, and on a Windows or Linux operating system.
When you run your JMeter tests from Controller, in addition to collecting JMeter test results, LoadRunner uses the Backend Listener for JMeter to collect data for LoadRunner measurements.
Measurements can be viewed online and offline (via Controller and Analysis), using the data points from the JMeter tests.
Important: JMeter is released as a "beta support" feature; currently you do not need a license to run JMeter tests in Controller. However, this may change for future versions.
Using JMeter tests in a scenario
JMeter tests work with threads, JMeter's equivalent of Vusers, and thread groups. LoadRunner handles the JMeter tests somewhat differently from a Vuser script:
- When one Vuser runs a single .jmx file, it actually runs all the threads inside each of the thread groups in the file.
- The full .jmx test runs for each LoadRunner Vuser, so one .jmx file effectively corresponds to a full Controller scenario.
- The entire .jmx test is executed on each load generator. So, for example, if a JMeter script is running 100 threads, and your scenario is running 1 Vuser on three load generators, then each JMeter test runs 100 threads on each of the three load generators, and 300 threads are run in total.
LoadRunner supports JMeter distributed testing, where a JMeter client instance controls multiple, remote JMeter server (test node) instances.
Each remote node executes the testing plan in full. The load generator collects all the test results, received from the remote machines, from the JMeter client.
A scenario can contain JMeter scripts for remote testing, alongside scripts that do not support remote testing. You define remote testing support in the JMeter runtime settings.
JMeter and Java must be installed and configured on each remote node machine, in addition to on the load generator machine. You must also define a properties file containing the names (or IPs) for the remote node machines. For details, see Set Up the JMeter Test.
Note: When using remote testing, the graphs display the JMeter data as a single line for each load generator.