Monitorizar el rendimiento del servidor (Linux)

Para Servidor Cloud, Servidor Virtual y Servidor Dedicado

En este artículo encontrarás un resumen de los problemas de rendimiento que pueden producirse. Además, te explicaremos qué programas puedes utilizar en Linux para monitorizar tu servidor con el fin de detectar y solucionar problemas de rendimiento.

Nota

Por lo general, se recomienda una supervisión periódica del servidor para detectar a tiempo problemas generales o de rendimiento, así como fallos del servidor, de componentes o de las aplicaciones. Además, de esta manera también podrás prevenir y detectar ciertos tipos de ciberataques. Si tu servidor es objeto de un ataque, es esencial que puedas reaccionar de manera rápida para detener el ataque y minimizar los daños causados.

Tipos de problemas de rendimiento

Los problemas de rendimiento pueden tener causas muy diversas. Por ello, es muy importante que se determinen con precisión. Los siguientes problemas de rendimiento pueden ocurrir bajo ciertas circunstancias:

Acceso al SSD/disco duro muy demorado:

  • Puede ocurrir con servidores dedicados.

  • El servidor tarda mucho al iniciar el sistema operativo y los programas, o bien, al iniciar la sesión.

  • Puede ocurrir cuando el sistema operativo o los programas hacen uso del archivo de intercambio, o bien, al cargar o guardar datos.

Uso elevado del sistema o de la CPU:

  • Cuando la tasa de uso de la CPU es constantemente alta, es posible que el procesador del servidor esté sobrecargado.

  • Cuando la carga del sistema o de la CPU es demasiado elevada, a menudo se producen retrasos en la ejecución de las aplicaciones y en las actividades de los usuarios.

  • Cuando el servidor tiene muy poca memoria RAM, es posible que el procesador esté sobrecargado de manera permanente.

  • Un aumento permanente en la carga del procesador también puede ser un signo de malware.

Bajo rendimiento en las interfaces de red:

  • Provoca un retraso general en la visualización y en los tiempos de respuesta.

  • Cuando las interfaces de red están demasiado ocupadas se pueden producir varios problemas como una latencia elevada o mensajes de error al consultar las páginas web.

 

Consejos de análisis

  • Para determinar la causa de los problemas de rendimiento, es importante distinguir si son temporales o permanentes.

  • Si los problemas de rendimiento son temporales, comprueba si existe un patrón reconocible. Para ello, analiza los procesos ejecutados y las tareas realizadas regularmente por tu servidor.

  • Si es necesario, reprograma las tareas regulares y revisa si los problemas de rendimiento siguen produciéndose tras este cambio.

  • Si es necesario, verifica si los problemas de rendimiento se producen al ejecutar una determinada acción. Por ejemplo, al cargar una página o subir y descargar documentos.

  • Investiga qué actualizaciones se han instalado en el servidor y averigua si es necesario instalar una nueva actualización que afecte al rendimiento de tu servidor.

  • Si un proceso es desconocido para ti o no estás seguro de que sea un programa malicioso o malware, te recomendamos que investigues el nombre del proceso en Internet. Preste especial atención a los procesos que requieren un número inusualmente elevado de recursos.

Atención

Te recomendamos que instales parches de seguridad y actualizaciones del sistema operativo y de los programas periódicamente. Además, se recomienda que los pruebes previamente para comprobar los posibles efectos en tu entorno. Asegúrate también de que los parches de seguridad y las actualizaciones de los plug-ins que utilices también se instalen tan pronto como se pueda.

Análisis inicial de los recursos del sistema en uso con "top"

Con el programa top podrás realizar un primer análisis de la carga actual del sistema. Este programa viene incluido en la mayoría de distribuciones Linux.

Con top puedes acceder tanto a la información del sistema como a los procesos en ejecución. En la vista general, puedes ordenar las tareas por CPU, uso de memoria y tiempo de ejecución.

Además, este programa ofrece una interfaz interactiva de gestión de procesos y de configuración individual. La mayoría de funciones pueden utilizarse mediante comandos interactivos o con entradas en los archivos de configuración personales o de todo el sistema.

Para iniciar top, introduce el comando top en la línea de comandos. Puedes combinar este comando con una variedad de opciones.

Aquí encontrarás un resumen de las opciones:

top - Linux man page

Puedes encontrar más información sobre el análisis de la carga del sistema con top aquí:

Analizar la carga actual del sistema con top (Linux)

Análisis detallado de los recursos del sistema en uso con "atop"

Atop es un programa de monitorización ASCII con el que se puede visualizar la carga del sistema en Linux. Al iniciar atop, se muestra el uso de la CPU y la memoria, así como información sobre los archivos de intercambio, discos duros/SSD y conexión de red en intervalos de 10 segundos. Además, se puede mostrar, entre otros, el uso de la CPU, el consumo de memoria y la E/S del disco duro por cada proceso e hilo. Con atop también puedes guardar estadísticas a nivel de sistema y de proceso en un formato binario comprimido para su análisis a largo plazo. Por defecto, estos archivos de registro se conservan durante 28 días.

En el siguiente artículo te explicamos cómo instalar atop y crear archivos de registro para analizar la carga del sistema:

Analizar la carga del sistema con atop (Linux)

Comprobar la conexión de red del servidor

A continuación se presentan varios comandos que puedes utilizar para comprobar la conexión de red de tu servidor.

Para obtener información concluyente sobre el rendimiento de la conexión de red del servidor, ejecuta las pruebas de rendimiento varias veces y en diferentes momentos del día.

Para mostrar las conexiones de red activas, usa el siguiente comando:

[root@localhost ~]# sudo ss -tpn


Para revisar qué procesos están actualmente a espera de conexiones desde el exterior, introduce el siguiente comando:

[root@localhost ~]# sudo ss -tulpn
Para verificar si se perdieron paquetes, introduce el comando ping como lo muestra el siguiente ejemplo. Limita el número de pings con -c :
[root@localhost ~]# ping -c CANTIDAD DIRECCIÓN_IP
o bien,

[root@localhost ~]# ping -c CANTIDAD DOMINIO_DEL_SERVIDOR
Si tienes problemas de conexión usa el programa Traceroute. Con Traceroute puedes definir qué paquete se enruta por cuál router. Para utilizar Traceroute, introduce el siguiente comando:

[root@localhost ~]# traceroute DIRECCIÓN_IP

Comprueba los archivos de registro del servidor

Consulta el siguiente artículo para obtener más información sobre cómo comprobar los archivos de registro de tu servidor:

Verificar los archivos de registro