Ejecutar pruebas de estrés efectivas

Cuando queremos realizar pruebas de stress tenemos que tener clara su efectividad, y más en una época en la que una caída en un servicio o en un producto nos puede llevar a pérdidas millonarias.


¿Qué ocurre cuando tenemos un servicio de primera necesidad, como la luz o el gas y en una zona de la ciudad o pueblo donde vivimos se va? Que la gente va a entrar como loca a la página para intentar comprender que ocurre y que se lo solucionen. También ocurre con la compra de entradas o cualquier otro evento masivo.

Lo primero que tenemos que hacer es centrarnos en unos requisitos básicos:
 
  • La fuente de tráfico tiene que estar en lista blanca, para que no se considere un ataque y la prueba se bloquee.
  • Recopilación de métricas de rendimiento a medida que aumentamos el número de usuarios. De esta manera comprobamos la degradación.
  • Escenarios donde empujar miles de usuarios de prueba contra el sitio web.
  • Tener la capacidad de ejecutar las pruebas fuera del horario “normal”, donde el tráfico es bajo.
  • Hacer las pruebas repetibles y rentables (que no nos cueste mucho el retocarlas o poder reutilizar todo lo que podamos).
 
Una vez que tenemos cubiertos unos básicos, lo que tenemos que hacer es buscar una herramienta de pruebas de estrés válidas para nuestras necesidades. Tenemos que pensar cuantos usuarios necesitamos y con que frecuencia los lanzaremos. Debemos de tener en cuenta cuantas veces se ejecutarán las pruebas para observar que los despliegues realizados en el producto o cambios en la infraestructura, no han afectado al rendimiento.

Lo ideal es seleccionar dos o tres proveedores para hacer una primera prueba. Habitualmente, se realizan pruebas gratuitas y podemos evaluar cual nos vale y cual nos proporciona resultados lo más cercanos a nuestras necesidades. Una vez que tenemos controlado esto, tenemos que valorar la dificultad de manejo de las herramientas, y que no nos lleve demasiado esfuerzo el poder montar escenarios y lanzarlos.

Cuando queramos realizar las primeras pruebas, lo habitual es hacerlas durante el fin de semana, ya que las cargas de clientes suelen ser más bajas y sobre todo verificar que no existe ningún problema para que la prueba impactase en los clientes o en la infraestructura. También, debemos de probar las primeras ejecuciones en un entorno controlado, por si existiese algún error que nos tumbe el entorno completamente.

A lo largo de la ejecución de las pruebas, se debe de supervisar cuidadosamente a los servidores, para detectar problemas, cuellos de botella y averiguar si tenemos algo grave que solucionar de inmediato.
Cuando se finalizan de hacer las pruebas, habitualmente se encuentran mejoras en los servicios durante cargas enormes de usuarios o aumentar la capacidad de manera progresiva para que no acabemos con el producto caído y con los clientes vendidos.

Muy importante para que las pruebas sean realmente efectivas, es el buscar escenarios reales y con los que los usuarios se vean identificados. No tiene sentido el hacer caminos sencillos, poco concurridos o que no hagan, exactamente, las combinaciones habituales de nuestros clientes.

Una prueba de stress es algo sencillo de realizar, pero complejo en su análisis y preparación a nivel global, ya que, tenemos que tener claros muchos puntos para que la efectividad de las mismas sea positiva y no nos den resultados vacíos y que no nos digan nada. 

Una buena combinación de estas pruebas y de una lectura correcta de resultados, pueden ayudar a que nuestro software esté preparado para cualquier tipo de imprevisto.
Siguiente Publicación

Comentarios