How to Diagnose a Slow VPS: Complete Performance Checklist

"My VPS feels slow" can have many root causes. This guide provides a systematic checklist to narrow down whether the bottleneck is CPU, memory, disk, network, or the application itself.

Step 1 — Check Overall Load

uptime

Compare the load average to your VPS's core count — sustained values above it confirm genuine resource pressure, not just perceived slowness.

Step 2 — Check CPU Usage

top

If a specific process dominates CPU, see How to Diagnose and Fix High CPU Usage on a VPS.

Step 3 — Check Memory Usage

free -h

Low available memory combined with active swap usage strongly suggests memory pressure is the bottleneck — see How to Diagnose and Fix Out of Memory (OOM) Errors.

Step 4 — Check Disk I/O

sudo apt install sysstat -y
iostat -x 2 5

High %util or await values indicate the disk itself is the bottleneck — see How to Fix High Disk I/O Wait Issues.

Step 5 — Check Disk Space

df -h

A nearly-full disk can degrade performance even before hitting 100%, particularly on some storage backends.

Step 6 — Check Network Latency

ping -c 10 8.8.8.8

High or inconsistent latency suggests a network-level issue rather than a server resource problem.

Step 7 — Check Database Performance

For MySQL/MariaDB, check the slow query log:

sudo tail -f /var/log/mysql/slow.log

See How to Tune MySQL/MariaDB Performance for a VPS if queries are consistently slow.

Step 8 — Check for Swap Thrashing

vmstat 1 5

High values in the si/so (swap in/out) columns indicate the server is actively swapping under pressure — a strong performance killer, distinct from simply having swap configured.

Step 9 — Check Web Server Response Time Directly

curl -w "Time: %{time_total}s\n" -o /dev/null -s https://yourdomain.com

Compare this to the time reported by your browser to determine whether the delay is server-side or elsewhere (DNS, CDN, client network).

Step 10 — Check for Too Many Services on One VPS

ps aux --sort=-%mem | head -15

Running a web server, database, and cache all on an undersized VPS is one of the most common root causes of chronic slowness — see How to Choose the Right VPS Plan for Your Workload.

Diagnostic Summary Table

SymptomLikely BottleneckWhere to Look Next
High load, one process dominates CPUCPUHow to Diagnose and Fix High CPU Usage on a VPS
Low available RAM, active swapMemoryHow to Diagnose and Fix Out of Memory (OOM) Errors
High iostat %util/awaitDisk I/OHow to Fix High Disk I/O Wait Issues
Slow specific database queriesDatabaseHow to Tune MySQL/MariaDB Performance for a VPS
Everything moderately slow, nothing maxed outUndersized VPS for the workloadHow to Choose the Right VPS Plan for Your Workload

Related Articles

  • How to Check VPS Resource Usage (CPU, RAM & Disk)
  • How to Fix High Disk I/O Wait Issues
  • How to Choose the Right VPS Plan for Your Workload
  • slow vps, performance troubleshooting, vps diagnostics, iostat
  • 0 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

Website Down? A Step-by-Step Troubleshooting Checklist

When a website goes down, working through checks in the right order saves critical time. This...

VPS Unreachable/Can't Connect via SSH: Troubleshooting Guide

Losing SSH access to your VPS is stressful, but most causes are fixable without needing to...

How to Fix "No Space Left on Device" Errors

A full disk can silently break databases, log writing, package installations, and web...

How to Diagnose and Fix High CPU Usage on a VPS

Sustained high CPU usage can slow down your entire server and every application running on it....

How to Diagnose and Fix Out of Memory (OOM) Errors

When a Linux server runs out of available RAM, the kernel's OOM (Out of Memory) killer forcibly...