Rendimiento

image description

PRUEBAS DE RENDIMIENTO

Un problema de rendimiento puede convertir un servicio en algo totalmente inútil. En estos casos, el impacto económico tanto por la falta de disponibilidad como por la percepción negativa del usuario puede ser muy importante.

El objetivo de las pruebas de rendimiento es detectar problemas en el entorno así como cuellos de botella del sistema antes de salir a producción. Esto lo conseguimos sometiendo al servicio o aplicación a una carga que simula las condiciones del mundo real con el fin de evaluar su comportamiento bajo diferentes escenarios.

Disponemos del conocimiento y experiencia para llevar a cabo pruebas de rendimiento, carga sostenida, sobrecarga o recuperación en múltiples sistemas, asesorando y ayudando a lograr la configuración óptima de sus servidores.

Especificación de rendimiento

Documentar los requisitos que el sistema ha de cumplir para lograr un rendimiento óptimo, definiendo el alcance de las pruebas, qué sistemas serán objeto de las mismas, número de usuarios concurrentes, tiempos de respuesta, etc.

Entornos de pruebas

Identificar los elementos del sistema y definir las características que ha de tener el entorno de prueba, asegurándonos de que dispone de una monitorización de recursos con el suficiente nivel de detalle.

Programación y ejecución

Programar y ejecutar los scripts de pruebas de rendimiento que previamente hemos diseñado, monitorizando el sistema en todo momento y recogiendo los resultados, utilizando herramientas de código abierto o, si el cliente lo requiere, las herramientas designadas por él.

Informes e Integración

Analizar los resultados de las pruebas y presentar informes detallados con guías para mejorar en las siguientes iteraciones. En algunas ocasiones, automatizamos tanto las pruebas de rendimiento como la generación de estos informes. Incluir las pruebas de rendimiento dentro de su ciclo de integración continua, asegurando ejecuciones y resultados en los que poder confiar.

Los objetivos de rendimiento a alcanzar determinarán el tipo de pruebas a realizar:

Rendimiento

Cargamos el sistema con el número de usuarios esperados durante un uso normal del sistema.

Integración

Evaluamos si otros sistemas son capaces de procesar las cargas generadas por nuestro servicio o aplicación.

Pico

Variando la carga rápidamente, determinamos la capacidad de nuestro sistema de adaptarse a la misma, si los recursos se gestionan correctamente, etc.

Estrés

Aumentamos la carga gradualmente hasta el colapso, para identificar cual es el sistema que falla en primer lugar y enfocar nuestra atención en él.

Consideramos las pruebas de rendimiento un anticipo del comportamiento final que tendrá el sistema una vez se encuentre en un entorno productivo. Identificar los problemas en un entorno controlado permite una puesta en producción más segura y sin sorpresas.