Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Chela stress test

1,868 views

Published on

Presentación de Pruebas de Estrés en el ChelaJs de Octubre 2015

Published in: Software
  • Be the first to comment

Chela stress test

  1. 1. Pruebas de Estrés por: Sergio Martínez @SuperSerch
  2. 2. ¿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
  3. 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. 4. ¿Para qué hacerlas? Encontrar cuellos de botella Encontrar “Memory leaks” Encontrar fallas de concurrencia Conocer la capacidad del sistema con la infraestructura actual
  5. 5. Herramientas fwptt JCrawler Web Capacity Analysis Tool (WCAT) Siege
  6. 6. ¿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
  7. 7. Puntos a considerar al diseñar y realizar una prueba de estrés
  8. 8. 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
  9. 9. Infraestructura similar a Producción Tener los mismos componentes Tener configuraciones similares Conocer las diferencias y como afectan al sistema
  10. 10. Ancho de banda Minimizar puntos intermedios Incluir (o no) elementos estáticos Carga de bibliotecas externas (CDNs)
  11. 11. Usuarios (cuentas) Sistema de autenticación y seguimiento Cookies Header URL Usar Múltiples cuentas
  12. 12. Cache Naturales Memcached Aleatoriedad en el comportamiento de los usuarios
  13. 13. Contención en Escritura Bases de datos Archivos Recursos de Red Diferentes usuarios sobre el mismo recurso
  14. 14. Escalabilidad ¿Existe una manera simple de escalar el sistema? Incremento o decremento de la cantidad de servidores durante la prueba Multiples clientes de prueba
  15. 15. Demo
  16. 16. 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?
  17. 17. Si no experimentamos con el sistema, Producción será el primer experimento.
  18. 18. Preguntas
  19. 19. ¿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
  20. 20. ¿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
  21. 21. ¿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

×