Monitoring is the real-time collection and analysis of system, application and infrastructure metrics during performance test execution.
- Validate system behavior under load
- Identify bottlenecks early
- Detect performance degradation
- Ensure optimal resource utilization
- Correlate metrics for root cause
- Support decision making & tuning
- Real-time dashboards & graphs
- Configured thresholds & alerts
- Continuous data collection
- Monitoring agents & tools
- Correlation across layers
- Ensure performance goals are met
- Maintain system stability
- Proactively identify issues
- Provide data for analysis & reports
- Help in capacity planning
What Do We Monitor?
During performance testing, we monitor the application in different layers to get complete visibility and identify bottlenecks.
To ensure users are getting good response time and pages are loading as expected.
Key Metrics- Page Load Time
- Think Time
- Errors on Client
To ensure servers have enough resources (CPU, Memory, Disk, Network) to handle load.
Key Metrics- CPU Utilization
- Memory Utilization
- Disk I/O, Network I/O
- Load Average
To ensure application servers are handling requests efficiently without any bottlenecks.
Key Metrics- JVM Heap Usage
- Thread Count
- Connection Pool
- Request Processing Time
To ensure business transactions are performing as expected and identify slow transactions.
Key Metrics- Response Time
- Throughput (TPS)
- Error Rate
- Transaction Status
To ensure database is performing well for queries and handling connections under load.
Key Metrics- CPU Utilization
- Memory / Buffer Cache
- Disk I/O, Log I/O
- Active Sessions / Connections
To ensure network latency, bandwidth and packet loss are not impacting performance.
Key Metrics- Network Throughput
- Latency
- Packet Loss
- Retransmissions
To ensure application is meeting business objectives and SLAs under load.
Key Metrics- Business KPIs
- SLA Compliance
- Custom Counters
To ensure all supporting infrastructure is healthy and handling the load.
Key Metrics- Health Status
- Resource Utilization
- Queue Length
- Failover Events
Monitoring Methods Used
We use different methods to collect metrics during performance test execution.
Monitoring Summary
| Monitoring Group | Why Do We Monitor? | Key Metrics (Examples) | Monitoring Method |
|---|---|---|---|
| Client Monitoring | To ensure end users are getting good experience | Page Load Time, Think Time, Errors | Agent Based, Real-time Dashboards |
| Server Monitoring | To ensure servers have enough resources | CPU, Memory, Disk I/O, Network I/O | Agent Based, SNMP, Remote |
| Application Server Monitoring | To ensure application servers are performing well | Heap Usage, Threads, Connection Pool | JMX, Agent Based |
| Application Monitoring | To ensure business transactions are performing well | Response Time, TPS, Error Rate | Agent Based, APM, Logs |
| Database Monitoring | To ensure database is not a bottleneck | CPU, Buffer Cache, Disk I/O, Connections | Agent Based, Remote, DB Views |
| Network Monitoring | To ensure network is not impacting performance | Throughput, Latency, Packet Loss | SNMP, Network Tools |
| Custom Metrics | To ensure business objectives are met | KPIs, SLA, Custom Counters | APM, Custom Scripts |
| Infrastructure Monitoring | To ensure all infra components are healthy | Health, Utilization, Queue Length | SNMP, API, Agent Based |