Copyright (c) 2026 MindMesh Academy. All rights reserved. This content is proprietary and may not be reproduced or distributed without permission.

3.4.2. Baselining and Performance Metrics

💡 First Principle: You cannot identify abnormal performance without knowing what normal looks like. A baseline is a documented snapshot of system performance during known-good, representative operation. Everything that happens afterward is measured against it.

Baselining Process
  1. Choose representative conditions: Capture metrics during typical workload (not during off-hours or a holiday when load is artificially low)
  2. Measure all key resources: CPU, memory, disk (IOPS, latency, throughput), and network (utilization, errors)
  3. Document and store: The baseline becomes the comparison point for troubleshooting and capacity planning
  4. Repeat periodically: Performance profiles change as workloads grow; update baselines quarterly or after significant configuration changes
Key Performance Metrics
MetricWhat It MeasuresWarning Signs
CPU utilizationProcessing loadSustained >80% suggests a bottleneck
Memory utilizationRAM consumptionHigh paging/swap activity indicates memory pressure
Disk IOPSDisk operation rateSaturation causes queue depth growth and latency spikes
Disk throughputData transfer rate (MB/s)Near-capacity throughput indicates bottleneck
Disk latencyTime per I/O operationHDD: >20ms is concerning. SSD: normal is well under 1ms (SATA ~50–100 µs, NVMe ~10–20 µs), so >1ms warrants investigation and >5ms is an alert
Network utilizationBandwidth consumptionSustained >70–80% on a link suggests saturation
Capacity vs. utilizationHow full resources areProactive metric for planning before saturation
Baselining in the Context of Documentation

A baseline isn't just a number—it's a documented state with context: the date, the workload, and any relevant conditions. When performance degrades months later, having a well-documented baseline tells you exactly how much performance has changed and when it began.

⚠️ Exam Trap: A server showing high CPU utilization is not automatically experiencing a CPU bottleneck. High CPU during a burst is normal; sustained high CPU that doesn't drop is a bottleneck. Similarly, some workloads (encryption, video encoding) are CPU-intensive by design.

Reflection Question: After a routine firmware update, users report the server feels "slower." You have no baseline data. Why does this make the problem significantly harder to diagnose?

Alvin Varughese
Written byAlvin Varughese
Founder18 professional certifications