Skip to main content
Back to blog
tutorials 22 April 2020 2 min read

JMeter Monitoring

Learn how to extend Apache JMeter's monitoring capabilities using the PerfMon extension to collect system resources like CPU, Memory, Disk I/O, and Network metrics during performance tests.

M

Mark

Performance Testing Expert

Apache JMeter has inherent limitations in monitoring capabilities compared to tools like Micro Focus LoadRunner. While it generates HTML graphs showing transaction breakdowns, it lacks built-in hardware counter integration. The PerfMon extension - a Java client/server application - bridges this gap by collecting system resources and feeding them into JMeter.

Installation Steps

Perfmon Server Agent Setup

  1. Download the Perfmon Server Agent from GitHub
  2. Extract the ServerAgent zip file
  3. Open command prompt and navigate to the extracted directory
  4. Execute startAgent.sh (Linux) or startAgent.bat (Windows)
  5. Default launch port is 4444 (configurable)

Perfmon Metrics Collector Setup

  1. Launch Apache JMeter
  2. Navigate to Options > Plugins Manager
  3. Search for “Perfmon (Servers Performance Monitoring)”
  4. Click Apply Changes and Restart JMeter

Usage Configuration

Create a test plan with these components:

  • Thread Group (infinite loop, 60-second duration)
  • Dummy Sampler
  • jp@gc - PerfMon Metrics Collector listener

Configure rows for each metric type:

  • CPU
  • Memory
  • Swap
  • Disk I/O
  • Network I/O
  • TCP
  • JMX
  • Exec
  • Tail

The tool displays real-time performance graphs during test execution.

Conclusion

While PerfMon improves upon vanilla JMeter’s monitoring, detailed server-side monitoring remains essential for comprehensive analysis.

Tags:

#jmeter #monitoring #perfmon #performance-testing #metrics

Need help with performance testing?

Let's discuss how I can help improve your application's performance.

Get in Touch