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.
Comentarios
Publicar un comentario