Monitorizar el rendimiento de un servidor (Linux)

Rate this post

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 lento:

  • 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, revisa 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 o no estás seguro de que sea un programa malicioso o malware, te recomendamos que investigues el nombre del proceso en Internet. Presta especial atención a los procesos que requieren un número inusualmente elevado de recursos.
Atención
Te recomendamos que instale 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:

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.

Puedes encontrar más información sobre el atop aquí:

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 han perdido 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, use el programa traceroute. Con traceroute puedes definir qué paquete se enruta por cuál router.

Para instalar traceroute, escribe los siguientes comandos:

CentOS 7, CentOS Stream 8 y CentOS Stream 9

[root@localhost ~]# yum update
[root@localhost ~]# yum install traceroute

Ubuntu

[root@localhost ~]# sudo apt-get update
[root@localhost ~]# apt-get install inetutils-traceroute

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: