Network Capacity Planning: Methodology and Tools
Proactive capacity planning prevents outages before they happen. This is the methodology for enterprise networks.
Step 1: Establish Baselines
Collect at least 90 days of data before planning. Key metrics:
TEXT
Per Interface:
- Inbound/Outbound utilization (avg, 95th percentile, peak)
- Error rate (input/output errors per hour)
- Drops (queue drops)
Per Device:
- CPU utilization (avg, peak)
- Memory utilization
- BGP prefix counts (if applicable)
Per Site:
- WAN utilization (daily pattern)
- User count trendTraffic Analysis with NTOPNG
BASH
# Install ntopng
apt install ntopng
# Configure to monitor interface
# /etc/ntopng/ntopng.conf
--interface=ether1
--http-port=3000
--community
systemctl enable --now ntopngUtilization Thresholds
| Threshold | Action |
|---|---|
| 50% | Plan capacity upgrade |
| 70% | Begin procurement process |
| 80% | Implement QoS/traffic shaping |
| 90% | Emergency upgrade (if no plan) |
Note: Use 95th percentile, not average. Average hides bursty traffic.
Growth Modeling
PYTHON
import numpy as np
# Monthly bandwidth usage (GB)
history = [120, 135, 142, 158, 170, 185]
# Linear regression forecast
months = np.arange(len(history))
z = np.polyfit(months, history, 1)
p = np.poly1d(z)
for m in range(6, 18): # Next 12 months
forecast = p(m)
print(f"Month {m}: {forecast:.0f} GB")WAN Capacity Planning Worksheet
TEXT
Current WAN speed: 100 Mbps
Current 95th percentile utilization: 72 Mbps (72%)
Monthly growth rate: 8%
Month 1: 77.8 Mbps (78%)
Month 2: 84.0 Mbps (84%) ← Needs upgrade
Month 3: 90.7 Mbps (91%) ← Emergency territoryProcurement Timeline
Work backwards from the capacity threshold:
- Month 0: Order placed (today)
- Month 1-2: Procurement/vendor lead time
- Month 2-3: Installation and testing
- Month 3: Live at new capacity
Start process when utilization hits 50%, not 90%.
Reporting Template
Produce monthly capacity reports with:
- Current utilization by site/interface
- Trend chart (6 months)
- Forecast to 80% threshold date
- Recommended action and timeline
