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.
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
- Download the Perfmon Server Agent from GitHub
- Extract the ServerAgent zip file
- Open command prompt and navigate to the extracted directory
- Execute
startAgent.sh(Linux) orstartAgent.bat(Windows) - Default launch port is 4444 (configurable)
Perfmon Metrics Collector Setup
- Launch Apache JMeter
- Navigate to Options > Plugins Manager
- Search for “Perfmon (Servers Performance Monitoring)”
- 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: