3. ¿Qué es una prueba de estrés?
Es un proceso en donde, con ayuda de
herramientas se crea un ambiente
adverso a fin de determinar la habilidad de
un sistema a mantener un cierto nivel de
efectividad
4. ¿Para qué hacerlas?
Encontrar cuellos de botella
Encontrar “Memory leaks”
Encontrar fallas de concurrencia
Conocer la capacidad del sistema con la
infraestructura actual
7. ¿Por qué no falló en la prueba?
La prueba y el sistema estaban en el mismo equipo
Millones de peticiones a un solo URL
Mal diseño del script de pruebas
Incorrecta ejecución de la prueba
Falta de monitoreo durante la prueba
9. Hipótesis
¿Qué es lo que estoy queriendo probar?
Peticiones por segundo antes del punto de
degradación
Relación: Transferencia - Memoria - CPU
Eficacia de la Arquitectura del sistema
Soporte a fallos
15. Escalabilidad
¿Existe una manera simple de escalar el sistema?
Incremento o decremento de la cantidad de
servidores durante la prueba
Multiples clientes de prueba
17. Resultados
¿Se confirmó la hipótesis?
¿El monitoreo refleja la forma de la prueba?
¿El cambio del código de la función X afectó al
rendimiento global del sistema?
¿Se encontraron problemas de rendimiento?
20. ¿Cómo puedo hacer una prueba con
millones de usuarios?
Instalar JMeter en varios servidores
Tener un servidor central
Registrar las IPs en el servidor central
http://jmeter.apache.org/usermanual/remote-test.html
21. ¿Se puede probar una aplicación
que recibe tweets?
Se podría intentar simular con el JSR223 Sampler
JSR223: Scripting for the Java Platform
http://jmeter.apache.org/usermanual/component_reference.html#JSR223_Sampler
https://blazemeter.com/blog/queen-jmeters-built-componentshow-use-beanshell
Se puede programar un plugin para simular el stream
https://github.com/apache/jmeter/blob/doc-v2_3_1/src/examples/org/apache/jmeter/
examples/sampler/ExampleSampler.java
22. ¿Cuándo se deben iniciar las
pruebas de estrés?
Lo antes posible
Fail-Fast: en cuanto se defina la arquitectura del sistema
y se pueda tenerlo operando, así se puede validar