Server Monitoring

Server monitoring tracks the health, performance, and resource utilization of servers hosting your application. It helps identify bottlenecks, detect failures early, and ensures servers can handle the expected load during performance testing.

Why do we do Server Monitoring?
  • To ensure servers have enough resources to handle the load.
  • To identify performance bottlenecks in CPU, memory, disk, network, and processes.
  • To detect errors, failures, and abnormal behavior early.
  • To validate scalability, stability, and reliability of the infrastructure.
What We Monitor on Server?

We monitor the key server resources, processes, and configurations that impact application performance.

CPU
Memory
Disk I/O
Network
Processes
System

Key Server Metrics and Counters

These counters help in evaluating server performance and identifying bottlenecks.

CPU Utilization (%)
Percentage of CPU used.
Threshold: < 80%
Memory Utilization (%)
Percentage of memory used.
Threshold: < 80%
Disk I/O Utilization (%)
Disk read/write utilization.
Threshold: < 80%
Network Utilization (%)
Network bandwidth usage.
Threshold: < 80%
System Load Average
Load on server over 1/5/15 min.
Threshold: < CPU Core Count

Detailed Server Counters

Monitor the following detailed counters during performance testing.

Category Counter / Metric Description Why It Matters Threshold / Recommendation
CPU
CPU Utilization (%) Total CPU usage percentage High CPU causes slow response and request queuing. < 80%
CPU Load (1/5/15 min) Average CPU load over 1, 5, 15 minutes Indicates overall system load. < CPU Core Count
Context Switches/sec Number of context switches per second High value indicates CPU thrashing. Monitor for unusual spikes
Interrupts/sec Number of interrupts per second High interrupts can impact performance. Monitor for unusual spikes
Memory
Memory Utilization (%) Percentage of memory used High memory usage can cause swapping. < 80%
Available Memory (MB) Available physical memory Low memory leads to performance degradation. > 20% of Total
Pages/sec Rate of memory pages read from/written to disk High pages/sec indicates memory pressure. Monitor for spikes
Swap Usage (MB) Amount of memory in swap High swap usage severely impacts performance. Should be 0 or minimal
Disk
Disk Utilization (%) Total disk busy time High disk utilization slows down I/O operations. < 80%
Disk Read/Write (MB/s) Disk read/write throughput High values indicate heavy disk load. Monitor trend
Disk Queue Length Number of requests waiting for disk High queue length increases response time. < 2 (ideally)
Disk Latency (ms) Average disk response time High latency impacts application performance. < 20 ms (ideally)
Network
Network In (Mbps) Incoming network traffic High incoming traffic may cause saturation. < 80% of NIC Capacity
Network Out (Mbps) Outgoing network traffic High outgoing traffic may cause saturation. < 80% of NIC Capacity
Packets In/sec Incoming packets per second High packet rate may impact performance. Monitor trend
Network Errors Dropped/errored packets Errors cause retransmissions and latency. Should be 0
System
System Uptime Time since last server restart Frequent restarts indicate stability issues. High uptime expected
Processes Count Total number of running processes Too many processes may consume resources. Monitor trend
Threads Count Total number of threads High thread count may lead to contention. Monitor trend
System Errors System level errors Indicates issues impacting server health. Should be 0

Real-Time Monitoring (Examples)

CPU Utilization (%)
10:0010:1510:3010:4511:00
CPU Utilization (%)
Memory Utilization (%)
10:0010:1510:3010:4511:00
Memory Utilization (%)
Disk I/O Utilization (%)
10:0010:1510:3010:4511:00
Disk I/O Utilization (%)
Network Utilization (%)
10:0010:1510:3010:4511:00
Network Utilization (%)

Alerts & Thresholds

Metric Warning Threshold Critical Threshold Action
CPU Utilization (%) 70% 90% Scale up / Optimize process
Memory Utilization (%) 70% 90% Increase memory / Optimize application
Disk Utilization (%) 70% 90% Optimize I/O / Add more disk
Network Utilization (%) 70% 90% Optimize traffic / Increase bandwidth
Disk Queue Length > 1 > 5 Investigate I/O bottleneck
Load Average (1 min) > Core Count > Core Count * 2 Scale up / Optimize load

Best Practices for Server Monitoring

Monitor continuously during tests and in production.

Set realistic thresholds based on server capacity and workload.

Correlate server metrics with application and response metrics.

Use alerts to detect issues early and take action. Analyze trends, not just single point values.

Effective server monitoring ensures system stability, optimal performance, and better user experience under all load conditions.