Por que el uso alto de CPU es un problema critico
El uso excesivo de CPU en un servidor de hospedaje compartido no solo ralentiza el sitio afectado sino que puede impactar negativamente a todos los sitios alojados en el mismo servidor. En planes con CloudLinux, el sistema aislara automaticamente la cuenta que supera su limite de CPU, mostrando errores 508 o 503 a los visitantes. En VPS y servidores dedicados, el uso sostenido al 100% de CPU puede hacer que el servidor deje de responder completamente.
Causas comunes del uso alto de CPU
| Causa | Como identificar | Solucion |
|---|---|---|
| Plugin de WordPress con proceso pesado | El uso de CPU coincide con la activacion del plugin | Desactivar plugins uno por uno hasta identificar el culpable |
| Paginas sin cache generando PHP en cada visita | Alto CPU correlacionado con el trafico | Activar cache de paginas con LiteSpeed Cache |
| Consultas MySQL no optimizadas | Slow query log muestra consultas lentas | Agregar indices y optimizar las consultas |
| Script de wp-cron ejecutandose frecuentemente | Picos de CPU regulares independientes del trafico | Deshabilitar wp-cron interno y usar cron real del servidor |
| Proceso de indexacion de busqueda | CPU alto despues de publicar contenido | Usar busqueda indexada externamente (Elasticsearch, Algolia) |
| Malware o cryptominer | CPU alto aunque el sitio tenga poco trafico | Escanear con ImunifyAV y limpiar |
| Generacion de imagenes en tiempo real | CPU alto al cargar paginas con imagenes | Regenerar las miniaturas y usar imagenes ya procesadas |
Identificar el proceso que consume CPU
# Ver los 10 procesos que mas CPU consumen ps aux --sort=-%cpu | head -11 # Monitoreo en tiempo real con htop htop # Ver el uso de CPU de los procesos PHP ps aux | grep php | sort -k3 -rn | head -20
Optimizar WordPress para reducir el uso de CPU
- Activar el cache de paginas: Con LiteSpeed Cache activo, las paginas se sirven directamente por el servidor sin ejecutar PHP, eliminando practicamente el consumo de CPU relacionado con el trafico de usuarios.
- Deshabilitar wp-cron interno y usar cron real: Agregar
define('DISABLE_WP_CRON', true);en wp-config.php y configurar una tarea cron real en el servidor para ejecutarwp-cron.phpcada 5 minutos. - Usar Redis como cache de objetos: Reduce el numero de consultas a la base de datos, disminuyendo indirectamente el uso de CPU.
- Limitar las revisiones de posts: Agregar
define('WP_POST_REVISIONS', 3);en wp-config.php para evitar la acumulacion de revisiones que hacen mas pesadas las consultas.
