JMeter plugins for mainframe
Apache JMeter does not ship with built-in TN3270 or TN5250 support, but the JMeter ecosystem provides a well-established plugin for terminal emulation, and JMeter’s standard distribution includes samplers for JMS message brokers and JDBC databases. Together, these three tools cover the most common mainframe load-testing scenarios. This page describes each plugin or sampler, how to add it to your JMX, and how to upload and run the resulting JMX in MaxoPerf.
Before you start
Section titled “Before you start”- You need JMeter Desktop installed locally to author and validate your
.jmxbefore uploading. - Read JMeter JMX on Maxoperf for the general JMX upload workflow — this page focuses on the mainframe-specific additions.
- Confirm with your mainframe operations team that load testing the target LPAR is authorized. Mainframe CPU is metered in MIPS; unexpected load has a real cost.
The three tools at a glance
Section titled “The three tools at a glance”| Tool | Protocols | Distribution | Use for |
|---|---|---|---|
| RTE Plugin (Remote Terminal Emulator) | TN3270, TN5250 | JMeter Plugins Manager (community plugin) | Green-screen CICS/IMS transactions via terminal emulation |
| JMS Point-to-Point sampler | IBM MQ via JMS | JMeter built-in (requires IBM MQ JMS JAR) | IBM MQ put/get, queue depth under load |
| JDBC Request sampler | DB2 via JDBC | JMeter built-in (requires DB2 JDBC driver JAR) | DB2 SQL queries, batch window validation |
1. RTE Plugin — TN3270 and TN5250 terminal emulation
Section titled “1. RTE Plugin — TN3270 and TN5250 terminal emulation”What it is
Section titled “What it is”The JMeter RTE (Remote Terminal Emulator) Plugin is a community plugin distributed through the JMeter Plugins Manager. It provides a sampler that connects to a mainframe or midrange host using the TN3270 (IBM Z) or TN5250 (IBM i / AS/400) protocol, sends keystrokes and field values to green-screen application panels, waits for the host to respond, and allows assertions on screen content. This is the standard way to drive CICS and IMS transactions through their native terminal interface in JMeter.
The plugin is developed and maintained under the JMeter Plugins project (jmeter-plugins.org) and is identified by the plugin ID bzm-jmeter-rte-plugin (formerly associated with BlazeMeter’s open-source JMeter extensions). You install it via the JMeter Plugins Manager GUI.
Installing the plugin in JMeter Desktop
Section titled “Installing the plugin in JMeter Desktop”- Open JMeter. In the menu, go to Options → Plugins Manager.
- In the Available Plugins tab, search for
RTEorRemote Terminal Emulator. - Select the bzm-JMeter-RTE-plugin and click Apply Changes and Restart JMeter.
- After restart, the RTE Sampler appears in the Add → Sampler menu inside Thread Groups.
Adding an RTE sampler to your JMX
Section titled “Adding an RTE sampler to your JMX”After installation, you add the sampler to your test plan in JMeter Desktop:
- Thread Group → Add → Sampler → RTE Sampler
- Key configuration fields:
- Server — hostname or IP of the TN3270/TN5250 server (the mainframe or TN3270 gateway).
- Port — typically 23 for TN3270, but often a non-standard port on a TN3270 gateway.
- Protocol —
TN3270orTN5250. - Terminal type — e.g.,
IBM-3278-2for a standard 3270 display model. - Actions — a sequence of field-fill and key-press actions (ENTER, PF1–PF24, CLEAR) that represent one transaction through the green-screen panels.
- Wait for — a synchronization condition that tells the sampler when the host has finished responding (e.g., wait for UNLOCK, wait for text at a specific screen position).
The sampler records end-to-end elapsed time for each complete transaction (connect through response), which is the metric MaxoPerf captures as response time.
Uploading and running in MaxoPerf
Section titled “Uploading and running in MaxoPerf”-
In JMeter Desktop, author your test plan with the RTE sampler configured for your target host. Remove any listener elements (View Results Tree, etc.) before saving — see JMeter JMX on Maxoperf.
-
Save the test plan as
mainframe-cics.jmx(or a descriptive name). -
In MaxoPerf console, open the test → Files tab.
-
Upload
mainframe-cics.jmx. MaxoPerf auto-detects the JMeter engine and marks the file as Entrypoint. -
If your test plan references CSV files for transaction data (account numbers, panel inputs), upload those as Test assets with the same relative filenames the JMX uses.
-
Save. Confirm the green validation badge appears.
-
Click Run.
2. JMS Point-to-Point sampler — IBM MQ
Section titled “2. JMS Point-to-Point sampler — IBM MQ”What it is
Section titled “What it is”JMeter includes a JMS Point-to-Point sampler in its standard distribution (under Add → Sampler). This sampler communicates with any JMS-compatible message broker, including IBM MQ via its JMS client library. It supports queue-based put (send) and get (receive) operations, which map to the most common MQ load-testing patterns: measuring put latency under concurrent producers, measuring get throughput under concurrent consumers, and observing queue depth growth.
What you need in the JMX
Section titled “What you need in the JMX”The JMS sampler uses the Java Naming and Directory Interface (JNDI) to look up the JMS connection factory and queue. For IBM MQ, you configure a jndi.properties file (or provide JNDI parameters inline) that points at the MQ server, port, channel, and queue manager. You also need the IBM MQ JMS client JAR (com.ibm.mq.allclient.jar) in JMeter’s lib/ directory on your local machine.
When running in MaxoPerf, upload the JAR as a Test asset and reference it in your JMX, or ask MaxoPerf support to include it in the runner image if you run MQ tests frequently.
See MQ and messaging testing for the full configuration detail.
3. JDBC Request sampler — DB2
Section titled “3. JDBC Request sampler — DB2”What it is
Section titled “What it is”JMeter’s built-in JDBC Request sampler connects to any JDBC-compatible database, including IBM DB2. You configure a JDBC Connection Configuration element with the DB2 JDBC URL (jdbc:db2://<host>:<port>/<database>), credentials, and connection pool settings, then use JDBC Request samplers to issue SQL statements and measure response time.
For MaxoPerf, the DB2 JDBC driver JAR (db2jcc4.jar) must be present in the runner image or uploaded as a Test asset. Contact MaxoPerf support if you need the driver added to the standard runner image.
See DB2 and batch testing for the full JDBC configuration walkthrough.
Choosing the right tool for your scenario
Section titled “Choosing the right tool for your scenario”| Your target | Tool | Where to read next |
|---|---|---|
| CICS or IMS via green-screen terminal | RTE Plugin | TN3270 terminal emulation testing |
| CICS transaction timing (CICS exposed over HTTP/SOAP) | JMeter HTTP sampler | CICS/IMS transaction testing |
| IBM MQ put/get throughput, queue depth | JMS Point-to-Point sampler | MQ and messaging testing |
| DB2 SQL query latency, batch window | JDBC Request sampler | DB2 and batch testing |
Where to go next
Section titled “Where to go next”- TN3270 terminal emulation testing — RTE sampler in depth: field actions, attention keys, screen assertions.
- CICS/IMS transaction testing — transaction response time, think time, transaction mix under load.
- MQ and messaging testing — IBM MQ put/get and queue depth scenarios.
- DB2 and batch testing — JDBC sampler setup, online vs batch windows.
- JMeter JMX on Maxoperf — the full JMX upload and run reference.
- Mainframe do and don’t — safety and coordination rules before running any mainframe load test.