Un VPS lento casi siempre tiene una causa concreta: CPU saturada, memoria agotada, disco lleno o red congestionada. El truco está en identificar cuál es antes de aplicar cualquier solución. Esta guía te guía por el diagnóstico paso a paso y te da los comandos exactos para corregir cada problema.
1. Diagnóstico rápido: ¿qué recurso está fallando?
Antes de tocar cualquier configuración, ejecuta estos tres comandos para tener un panorama inmediato:
top # muestra uso de CPU y procesos
free -h # muestra uso de RAM y swap
df -h # muestra uso de disco
Con esa información puedes ubicar el cuello de botella en menos de un minuto. A continuación revisamos cada caso.
2. CPU al 100%: causas y cómo bajarla
El consumo excesivo de CPU es la causa más común de un VPS lento. Los síntomas típicos son páginas web que tardan segundos en cargar, comandos SSH que responden con retraso y el indicador load average muy por encima del número de núcleos de tu servidor.
Identifica el proceso culpable
top -b -n1 | head -20
Ordena por columna %CPU. Los procesos PHP-FPM, MySQL/MariaDB y Apache/Nginx suelen encabezar la lista en servidores web. Un script PHP mal optimizado o una consulta sin índice pueden consumir toda la CPU disponible.
Soluciones según el proceso
- PHP-FPM con muchos workers activos: reduce
pm.max_childrenen el pool correspondiente y ajustapm.max_requestspara liberar procesos bloqueados. - MySQL/MariaDB con queries lentas: activa el slow query log (
slow_query_log = 1,long_query_time = 1) e indexa las columnas que aparecen en las consultas más lentas. - Proceso desconocido consumiendo CPU: investiga con
ps aux --sort=-%cpu | head -10y, si es malware o un script zombie, termínalo conkill -9 PID. - Load average estructuralmente alto: considera escalar el VPS a un plan con más vCPUs.
3. RAM agotada y swap activo: señales y correcciones
Cuando la RAM física se llena, el sistema operativo usa el swap (disco como memoria de emergencia). El problema es que el disco es órdenes de magnitud más lento que la RAM, lo que vuelve el servidor notablemente más lento.
Detecta si el swap está activo
free -h
vmstat 1 5 # observa la columna "si" y "so" (swap in / swap out)
Si ves valores altos en si y so, el servidor está haciendo swap constantemente.
Qué procesos están consumiendo RAM
ps aux --sort=-%mem | head -10
Soluciones
- MySQL/MariaDB: ajusta
innodb_buffer_pool_sizea no más del 70% de la RAM disponible. - Apache con MPM prefork: reduce
MaxRequestWorkers. Considera migrar a MPM event + PHP-FPM para un modelo de memoria más eficiente. - Aplicación con memory leak: reinicia el proceso afectado como medida temporal y busca la fuga en el código.
- RAM insuficiente para la carga real: actualiza el plan de tu VPS. 1 GB de RAM es el límite práctico para un sitio WordPress con algo de tráfico; 2-4 GB es el rango cómodo para la mayoría de los casos.
Consulta más estrategias de optimización en nuestra sección de servidores VPS.
4. Disco lleno o I/O lento: cómo identificarlo
Un disco al 100% impide que el sistema escriba logs, archivos temporales o datos de sesión, lo que provoca errores y lentitud extrema. El I/O lento — aunque quede espacio libre — también degrada el rendimiento.
Verifica el espacio disponible
df -h
du -sh /* 2>/dev/null | sort -rh | head -10
Detecta cuellos de botella de I/O en tiempo real
iostat -x 1 5 # requiere sysstat instalado
iotop # muestra qué proceso está escribiendo/leyendo más
Soluciones de espacio
- Limpia logs antiguos en
/var/log(comprime o elimina logs de más de 30 días). - Vacía la caché de paquetes:
apt cleanen Debian/Ubuntu,dnf clean allen RHEL. - Borra archivos temporales:
rm -rf /tmp/*y/var/tmp/*(con cuidado). - Si el problema es estructural, amplía el volumen de disco desde el panel de tu proveedor.
Mejora el I/O con caché de MySQL
Para bases de datos en disco HDD o SSD estándar, aumentar innodb_buffer_pool_size reduce las lecturas físicas al disco y mejora el rendimiento de forma notable.
5. Red lenta o latencia alta
Si el servidor responde bien internamente pero los usuarios reportan lentitud, el problema puede estar en la red: latencia hasta el datacenter, ancho de banda saturado o paquetes perdidos.
Herramientas de diagnóstico de red
| Herramienta | Qué mide | Comando |
|---|---|---|
| ping | Latencia y paquetes perdidos | ping -c 20 tudominio.com |
| mtr | Ruta y latencia salto a salto | mtr tudominio.com |
| iftop | Consumo de ancho de banda por conexión | iftop -i eth0 |
| ss / netstat | Conexiones activas y estado TCP | ss -tunapl |
Si iftop muestra que una IP externa consume todo el ancho de banda, puede ser un ataque DDoS volumétrico o un cliente abusivo. Bloquea esa IP con UFW y contacta a tu proveedor para activar mitigación DDoS si el ataque persiste.
¿Tu VPS sigue lento después de aplicar estas correcciones? El equipo de elenlace.com realiza diagnósticos de rendimiento y optimización de servidores para que tu sitio responda a la velocidad que merece.
Conclusiones clave
- Siempre diagnostica antes de actuar: usa
top,free -hydf -hpara localizar el recurso saturado. - CPU alta: identifica el proceso culpable y optimiza la aplicación o escala los vCPUs.
- RAM agotada con swap activo: ajusta la configuración de MySQL/Apache o amplía la memoria.
- Disco lleno: limpia logs y temporales, y amplía el volumen si el problema es estructural.
- I/O lento: usa
iotoppara encontrar el proceso que satura el disco. - Latencia de red: usa
mtrpara localizar el salto problemático y bloquea IPs abusivas. - Si el problema persiste, el plan de VPS puede haberse quedado pequeño para el tráfico actual.
¿Necesitas un diagnóstico profesional de tu servidor? Contacta a elenlace.com y resolveremos el problema de rendimiento sin que tengas que tocar una sola línea de comandos.
Preguntas frecuentes
¿Por qué mi VPS va lento aunque tiene poca carga de tráfico?
La lentitud no siempre está relacionada con el tráfico externo. Procesos internos como backups programados, tareas cron mal configuradas, scripts PHP con bucles infinitos o un disco casi lleno pueden saturar los recursos aunque haya pocos visitantes en ese momento.
¿Cuánta RAM necesita un VPS para WordPress?
Un sitio WordPress con caché activa (WP Rocket, W3 Total Cache) y tráfico moderado funciona bien con 1-2 GB de RAM. Si usas WooCommerce, tienes plugins pesados o recibes picos de tráfico, 2-4 GB es el rango recomendado para evitar swap.
¿Es mejor escalar el VPS o optimizar la aplicación?
Primero optimiza: muchas veces una consulta SQL sin índice o un pool de PHP-FPM mal configurado consume 10 veces más recursos de lo necesario. Escala cuando la optimización ya no sea suficiente para la carga legítima de usuarios.
¿El tipo de disco (HDD vs SSD vs NVMe) afecta la velocidad del VPS?
Sí, de forma significativa. Un VPS con NVMe puede tener latencias de disco 5-10 veces menores que uno con HDD. Si tu aplicación es intensiva en lectura/escritura de base de datos o archivos, el tipo de disco tiene un impacto directo en la velocidad percibida por el usuario.
Compara proveedores
Otros proveedores y guías que vale la pena comparar: