Diagnóstico de recursos del servidor¶
En este artículo
Análisis de la carga general del servidor¶
Para monitorizar el estado del servidor, se utilizan herramientas integradas:
- Windows: "Task Manager".
- Linux: La utilidad
topmuestra la carga promedio (Load Average) durante 1, 5 y 15 minutos. Un indicador ideal es un valor que no supere el número de núcleos del procesador. Por ejemplo, una LA de 4 en un servidor de cuatro núcleos indica un 100 % de utilización de los núcleos, lo que requiere una reducción inmediata de la carga.
Además:
atopresalta los indicadores altos con color rojo.nmonproporciona gráficos de la carga del procesador, disco, red y memoria. Para activar los gráficos, utilice teclas específicas, cuya lista se muestra al iniciar el programa.
Análisis detallado de recursos¶
Espacio en disco¶
La falta de espacio en disco puede causar errores como "Unable to connect to the database: Could not connect to MySQL", incluso si el servidor es accesible. Para verificarlo:
- El comando
df -hmuestra las particiones ocupadas y libres. du -hs /*ayuda a identificar directorios grandes, por ejemplo, archivos antiguos.- Limpiar archivos temporales (registros, caché, sesiones de PHP) es una forma efectiva de liberar espacio.
Memoria RAM¶
La naturaleza dinámica del uso de la memoria RAM requiere una monitorización regular. El comando free -m muestra:
- Memoria utilizada y libre.
- La cantidad de memoria accesible por el usuario (suma de
freeycached).
Para analizar los procesos que consumen memoria, utilice:
ps axo rss,comm,pid | awk '
{
# Group by process name (comm)
proc_list[$2]++;
# Sum RSS for each process
total_memory[$2] += $1;
}
END {
# Output results
for (proc in total_memory) {
printf("%.0fMB\t%s\n", total_memory[proc]/1024, proc);
}
}' | sort -nr | head -n 10
Canal de red¶
Para la monitorización del tráfico:
iftopcon la bandera-m 100Mmuestra el ancho del canal. Si el ancho de banda supera los 50b (barra blanca en la utilidad), es necesario aumentar el ancho de banda.
Nota
Es posible que deba instalar estas y otras utilidades desde su sitio web o desde un repositorio del sistema operativo.
Monitorización a través de un navegador¶
Para la monitorización a través de un navegador, puede instalar herramientas especializadas en el servidor:
Algunos paneles de control de alojamiento, como ispmanager, permiten el análisis de recursos a través de la interfaz: seguimiento de procesos, uso del espacio en disco, etc.
Análisis de carga de Apache y MySQL¶
Si la alta carga del servidor es causada por Apache, este recibe una gran cantidad de solicitudes en los puertos 80 y 443. Para reducir la carga, se recomienda utilizar Nginx en el servidor, habilitar la compresión de datos y configurar la caché para recursos estáticos.
Las posibles causas de dichas solicitudes pueden variar: tráfico legítimo del sitio web, actividad de bots de motores de búsqueda o, más seriamente, un ataque DDOS. Si es causado por bots de motores de búsqueda, puede reducir la intensidad de sus solicitudes ajustando los intervalos entre visitas al servidor en la configuración de Yandex.Webmaster and Google Webmasters Tool. En caso de un ataque, la configuración regular no ayudará; será necesario implementar medidas de protección adicionales, como herramientas especializadas o soluciones en la nube.
La alta carga también puede ser causada por el trabajo de MySQL. En este caso, se recomienda optimizar los parámetros del servicio utilizando la utilidad Mysqltuner. Además, preste atención a las consultas SQL enviadas a las bases de datos y verifique su eficiencia. Para ello, puede utilizar el comando show full processlist, que muestra una lista de las operaciones actuales de MySQL.
También es importante monitorizar el indicador WA en la utilidad top. Si el valor de este parámetro supera los 20, puede indicar que los datos no se pueden escribir en el disco lo suficientemente rápido, lo que lleva a fallos. En tales situaciones, se recomienda actualizar el hardware, por ejemplo, instalando discos SSD o NVMe, que ofrecen un mayor rendimiento.