chela stress test

22
Pruebas de Estrés por: Sergio Martínez @SuperSerch

Upload: superserch

Post on 12-Apr-2017

632 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Chela stress test

Pruebas de Estréspor: Sergio Martínez

@SuperSerch

Page 2: Chela stress test

¿Qué es una prueba de estrés?estrés. (Del ingl. stress).

1. m. Med. Tensión provocada por situaciones agobiantes que originan reacciones psicosomáticas o trastornos psicológicos a veces graves.

Real Academia Española © Todos los derechos reservados

Page 3: Chela stress test

¿Qué es una prueba de estrés?Es un proceso en donde, con ayuda de herramientas se cre a un ambiente adverso a fin de determinar la habilidad de un sistema a mantener un cierto nivel de efectividad

Page 4: Chela stress test

¿Para qué hacerlas?Encontrar cuellos de botella Encontrar “Memory leaks” Encontrar fallas de concurrencia Conocer la capacidad del sistema con la infraestructura actual

Page 5: Chela stress test

Herramientas

fwptt

JCrawler

Web Capacity Analysis Tool (WCAT)Siege

Page 6: Chela stress test
Page 7: Chela stress test

¿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

Page 8: Chela stress test

Puntos a considerar al diseñar y realizar una

prueba de estrés

Page 9: Chela stress test

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

Page 10: Chela stress test

Infraestructura similar a Producción

Tener los mismos componentes Tener configuraciones similares Conocer las diferencias y como afectan al sistema

Page 11: Chela stress test

Ancho de bandaMinimizar puntos intermedios Incluir (o no) elementos estáticos Carga de bibliotecas externas (CDNs)

Page 12: Chela stress test

Usuarios (cuentas)Sistema de autenticación y seguimiento

Cookies

Header

URL

Usar Múltiples cuentas

Page 13: Chela stress test

CacheNaturales Memcached Aleatoriedad en el comportamiento de los usuarios

Page 14: Chela stress test

Contención en EscrituraBases de datos Archivos Recursos de Red Diferentes usuarios sobre el mismo recurso

Page 15: Chela stress test

Escalabilidad¿Existe una manera simple de escalar el sistema? Incremento o decremento de la cantidad de servidores durante la prueba Multiples clientes de prueba

Page 16: Chela stress test

Demo

Page 17: Chela stress test

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?

Page 18: Chela stress test

Si no experimentamos con el sistema, Producción será el

primer experimento.

Page 19: Chela stress test

Preguntas

Page 20: Chela stress test

¿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

Page 21: Chela stress test

¿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

Page 22: Chela stress test

¿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