La garantía de calidad requiere una combinación de medidas proactivas y protocolos reactivos eficientes. Con el equilibrio adecuado, puedes ofrecer a los usuarios un servicio y una funcionalidad excelentes en un servidor disponible todo el año. La única manera de lograr ese equilibrio es identificar las métricas de monitorización de servidores más relevantes.
¿Pero cuáles podrían ser esas métricas? Eso depende de los atributos deseados, incluidos los descritos en el Modelo de Madurez de Calidad, y de los objetivos de monitorización. Aun así, existen algunos indicadores de salud y rendimiento que los ingenieros de aseguramiento de calidad siempre deben vigilar, sea cual sea el caso.
Al seleccionar las métricas ideales de monitorización del servidor desde el principio, puedes desarrollar una línea base de rendimiento que sirva de referencia cuando inevitablemente surjan problemas de salud o desempeño.
En esta breve guía, explicaremos por qué deberías hacer seguimiento a estas métricas clave. Además, obtendrás información adicional sobre su relevancia y cómo monitorizarlas.
1. Uso de CPU
Una de las principales motivaciones para monitorizar servidores es vigilar la salud de la infraestructura y el rendimiento básico del servidor. Una parte crítica de esto es el diagnóstico proactivo y la mitigación de posibles problemas de rendimiento. La medición del uso de CPU y disco es fundamental para estos esfuerzos. Por ello, el uso de CPU es una de las métricas de rendimiento más comunes y fundamentales que se vigilan.
Esta métrica se considera “basada en el host”, ya que lleva un registro de la capacidad de una máquina individual para funcionar y mantenerse estable. Dicho esto, monitorizar el uso de la CPU implicará una combinación de monitoreo pasivo y activo. El monitoreo activo es especialmente útil para pruebas de carga controladas, mientras que el pasivo recopila mediciones en el objetivo durante el tráfico real.
Cómo medir la utilización de la CPU
Antes de empezar, necesitarás:
- Seleccionar las unidades específicas que deseas monitorizar.
- Determinar dónde se encuentran esas unidades.
- Asegurarte de que tu recolector de datos tenga acceso a los procesos de tu equipo.
Una vez que hayas realizado esa configuración, tendrás que decidir la frecuencia de muestreo a la que quieres hacer seguimiento de estas métricas. Por ejemplo, puedes medir el uso de CPU cada 30 segundos o cada minuto.
Hay varias formas de hacer seguimiento al uso de CPU, como utilizando el administrador de tareas o un comando como wmic CPU get load percentage para sistemas Windows. Sin embargo, si buscas una visión general de tu servidor, es mejor mostrar estos datos en un panel de control.
Recuerda: El rendimiento del CPU está influenciado por las condiciones del hardware, como la temperatura del CPU y la velocidad de los ventiladores. Tal vez quieras monitorizar estos factores junto con la utilización (representada como un porcentaje) en estos dos estados, ignorando el reposo.
Dos aspectos clave que deberás vigilar de cerca incluyen Privileged Time y User Time, ya que la suma de estos dos te dará el Processor Time, definidos así:
- Privileged Time: Porcentaje de tiempo que los procesadores usan para ejecutar procesos no del usuario (es decir, procesos del núcleo/kernel)
- User Time: Porcentaje de tiempo que los procesadores usan para ejecutar procesos del usuario (por ejemplo, shell de comandos, servidor de correo electrónico, compilador)
- Processor Time: Cantidad total de tiempo en que la CPU está ocupada
Ten en cuenta que sobrepasar el 100% no siempre indica que un sistema está sobrecargado. Por ejemplo, si tienes un sistema multiprocesador, esto simplemente significa que la suma de las CPUs supera el 100% (por ejemplo, 50% y 60%). Observa el rendimiento individual para mantener la salud del sistema.
Además del uso de CPU y disco, las esperas (waits) también se consideran esenciales en la monitorización de salud y rendimiento de infraestructura.
Esperas
Las esperas te informan sobre la eficiencia en la ejecución de las tareas y te alertan de posibles cuellos de botella. Pero simplemente conocer las esperas no será suficiente. Tendrás que hacer una investigación adicional para identificar el problema exacto de rendimiento.
Un nivel alto de esperas puede estar bien por ráfagas cortas debido a tareas intensivas, pero cualquier cosa fuera de eso generalmente es motivo de preocupación.
2. Tiempo de actividad del servidor
Tu servidor es inútil si no está disponible para tus usuarios. Por eso, monitorizar el tiempo de actividad del servidor es indispensable. Siempre que la disponibilidad de tu servidor caiga por debajo del 99.999% (el estándar conocido como los “cinco nueves”), tendrás un serio problema entre manos.
Utiliza las siguientes fórmulas para obtener información comprensible y accionable de tus tareas de monitorización.
Cómo medir el tiempo de actividad del servidor
A continuación, algunos conceptos básicos a tener en cuenta cuando monitorices el tiempo de actividad del servidor:
- Tiempo de actividad (Uptime): La cantidad de tiempo que tu servicio o aplicación está activo y disponible para los usuarios. Fórmula: (Tiempo total - Tiempo de inactividad)/Tiempo total
- Tiempo medio entre fallos (MTBF): El tiempo promedio que separa los incidentes de inactividad. Fórmula: (Tiempo total - Tiempo de inactividad)/Número de incidentes de inactividad
- Tiempo medio de resolución (MTTR): El tiempo promedio necesario para resolver una caída. Fórmula: Tiempo total de inactividad/Número de incidentes de inactividad
- Tiempo medio de reconocimiento (MTTA): El tiempo promedio necesario para reconocer una caída actual. Fórmula: Tiempo total para reconocer/Número de incidentes de inactividad
Todas estas métricas ayudan a desarrollar una visión global que ilustra la fiabilidad de tu infraestructura y la capacidad de respuesta de tu equipo.
Por ejemplo, tener un buen MTTR y MTTA es positivo. Pero si también tienes un MTBF alto, tendrás que investigar más a fondo las causas raíz de la inactividad de tu servidor. De lo contrario, la empresa sigue expuesta a pérdidas económicas significativas y a la pérdida de confianza de los usuarios.

En última instancia, debes aspirar a lograr los “cinco nueves”, limitando el tiempo de inactividad a un máximo de aproximadamente cinco minutos al año. El software de monitoreo de servidores Grafana y Prometheus son recomendados habitualmente por ser herramientas accesibles y sencillas para este aspecto del monitoreo del rendimiento.
3. Transacciones (y tasas de error)
Necesitas una imagen clara de cuánta carga soporta tu infraestructura en cualquier momento. Por eso, es fundamental vigilar las transacciones—o el número de solicitudes por segundo—y el tiempo medio de respuesta correspondiente. Esta información puede ayudarte a determinar la cantidad de recursos y capacidad necesarios para que el servidor funcione sin inconvenientes.
Al mismo tiempo, hacer el seguimiento de la tasa de error, o el porcentaje de solicitudes fallidas respecto al total recibido, puede aportarte más información sobre la capacidad de carga de tu servicio. Para maximizar el valor de esta métrica, lo mejor es desarrollar una línea base a lo largo del tiempo mediante monitoreo pasivo.
Esto es crucial para tu capacidad de monitorear tendencias. Si puedes analizar el pasado y determinar la máxima capacidad y recursos necesarios para una operación fluida, puedes actuar proactivamente para asignar esos recursos y detectar problemas de infraestructura, así reducir las tasas de error y optimizar tu tiempo medio de respuesta.
Cómo monitorear transacciones y tasas de error
Estas son herramientas fiables para técnicas de monitoreo de rendimiento pasivo:
- Sniffers: Están diseñados para obtener mediciones a un “nivel microscópico” mediante la “escucha” del flujo de tráfico en redes cableadas e inalámbricas. Wireshark es uno de los estándares más ampliamente aceptados, ya que recopila datos como sello de tiempo (timestamp), direcciones MAC e IP, tiempo de vida (time to live) y más. Se pueden usar tanto en línea como fuera de línea.
- Facilidades de registros (Logging facilities): Por lo general están integradas en los sistemas operativos y aplicaciones. Principalmente recogen información sobre las actividades y eventos generados por las aplicaciones para uso fuera de línea.
Una de las diez mejores herramientas de monitoreo de servidores web especialmente útil para monitorizar transacciones es Monitis. Es un sistema todo en uno para el monitoreo de servidores, sitios web y aplicaciones. Es bueno tanto para sistemas Windows como Linux, y es ideal para cubrir lo esencial, incluido el tiempo de actividad.
El objetivo y alcance de los esfuerzos de monitoreo influirán en las mediciones exactas y el uso de estas técnicas.
Otras métricas que monitorear junto con transacciones
El tiempo de respuesta y el número total de hilos están directamente relacionados con las transacciones. Estas métricas te indicarán cuánto tiempo tarda tu servidor en responder a una solicitud, y el número de hilos (que hacen posibles las transacciones) que se están utilizando para gestionar todas esas solicitudes.
Cada hilo consume tiempo de CPU y RAM. Demasiados pueden llevar a un rendimiento deficiente. Hay mucho que monitorear con esto, incluyendo:
- El número total de hilos en un servidor web o un pool de contenedores, incluidos estos tipos:
- Activo
- Inactivo
- Atascado
- En espera
- Solicitudes de usuario pendientes y longitud de la cola
Normalmente, puedes medir el tiempo de respuesta del servidor como "Tiempo hasta el primer byte" (TTFB). Este es el número de milisegundos que tarda un navegador en recibir el primer byte de respuesta del servidor. Generalmente, cualquier tiempo superior a cinco segundos es crítico.
Eligiendo las métricas adecuadas para el monitoreo del rendimiento del servidor
Existe una larga lista de métricas que podrías estar monitoreando al rastrear la salud y el rendimiento de tu servidor, pero los objetivos específicos dependen principalmente del propósito de tus esfuerzos de monitoreo.
Mientras que algunas son mejores para obtener información sobre la capacidad de carga de tu hardware y sistema operativo, otras son ideales para observar la actividad de los usuarios. En cualquier caso, la CPU, el tiempo en línea y las transacciones son fundamentales que no se pueden pasar por alto.
A medida que avances como lead de QA y tus objetivos inevitablemente cambien, sin duda añadirás más métricas de monitoreo de servidores a tu panel. Para más perspectivas expertas sobre cuáles deberían ser y cómo gestionarlas, suscríbete al boletín.
