Upgrading too early wastes money. Upgrading too late means slow pages, crashes and unhappy users. The way to decide is to look at the metrics: which resource is actually exhausted, and whether optimisation can fix it first. This guide shows what to check, and how to choose the right upgrade.

Step 1: find the bottleneck

uptime                      # load average
htop                        # CPU per core, memory, swap, top processes
free -h                     # memory and swap
vmstat 1 10                 # r (run queue), si/so (swapping), wa (I/O wait), st (steal)
iostat -x 1 5               # disk utilisation (sysstat package)
df -h                       # disk space
vnstat -m                   # monthly bandwidth

See htop, free command, and uptime and load average.

Signs you need more…

CPU

  • Load average consistently above your vCPU count.
  • htop shows cores pinned near 100% during normal traffic (not just during backups or builds).
  • Slow responses that improve when traffic drops.
  • High steal time (st in top/vmstat) means the host is busy. Report it to support if it’s persistent.

See vCPU explained.

RAM

  • Swap is actively used (si/so non-zero in vmstat), and performance drops.
  • Out-of-memory kills in logs: journalctl -k | grep -i oom. See Linux OOM killer.
  • You can’t run enough PHP-FPM workers, database buffers or app instances.

See how much RAM a VPS needs.

Disk

  • Free space below 15–20% and growing. See VPS storage planning.
  • High I/O wait (wa in vmstat, %util near 100 in iostat) during normal operation.

Bandwidth

  • Approaching your monthly transfer allowance, or hitting the port’s speed limit at peak. See VPS bandwidth calculator.

Step 2: optimise before upgrading

Often a configuration change gives more than a bigger plan:

Symptom Try first
High CPU on a website Page caching, OPcache, fewer heavy plugins. See WordPress TTFB
High database load Slow query log, indexes, object cache. See MySQL slow query log
RAM full Right-size PHP-FPM, database buffers, Java heaps; remove unused services
Disk full Log rotation, Docker cleanup, move backups off the server
Bandwidth high CDN, compression, image optimisation

See VPS performance troubleshooting.

Step 3: choose the right upgrade

  • More of the bottlenecked resource: a plan with more RAM, more vCPU, or more disk.
  • Split workloads: move the database, backups or media to a second server. That’s often better than one huge VPS. See VPS scaling: vertical vs horizontal.
  • Storage-heavy needs: a storage VPS for media and backups. See storage VPS.
  • Consistently maxed, or needs isolation or DDoS protection: a dedicated server. See VPS vs dedicated server.

On VPS.DO, plan upgrades are handled through a support ticket. Include your current plan, the target plan, and a preferred time window. See the USA, Hong Kong and Japan VPS plans.

Plan ahead

  • Monitor continuously, with alerts on CPU, RAM, disk and bandwidth thresholds. See Netdata and Grafana + Prometheus.
  • Upgrade before known peaks: launches, sales events, campaigns.
  • Back up before any migration or upgrade. See backup strategy.

Quick reference

Metric Upgrade signal
Load average > vCPU count, sustained
Swap activity Non-zero si/so, slowdowns
OOM kills Any, in normal operation
Disk < 15% free, or high I/O wait
Bandwidth Near monthly allowance or port limit

Related: VPS uptime and SLAs and VPS hosting costs.

  • VPS Guide
  • Performance
  • Monitoring