Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Test de Carga con JMeter

Test de Carga con JMeter

Hablo sobre como hacer test de carga a un aplicación Spring Boot Reactive vs Non Reactive.

Avatar for David Sarmiento Patron

David Sarmiento Patron

September 26, 2020
Tweet

More Decks by David Sarmiento Patron

Other Decks in Programming

Transcript

  1. Sobre mi... - Ingeniero de Sistemas de la UCSM -

    Trabajo como Software Engineer - Scrum Master Certified - Oracle Certified Professional Java Programmer - Miembro de Java User Group Peru
  2. Agenda - Vista rápida de lo que haremos - Herramientas

    - Conceptos de Pruebas de Carga - Demo - Conclusiones
  3. Que haremos Objetivo General: - Compara el rendimiento entre 2

    aplicaciones Pasos a seguir: 1. Colocar aplicaciones contenedores 2. Crear los escenarios de prueba 3. Ejecutar las pruebas por línea de comandos 4. Monitoreo de recursos 5. Generamos reportes con los resultados
  4. Herramientas - JMeter : Herramienta para la ejecución de test

    de carga - Plugin para monitorear los recursos https://jmeter-plugins.org/wiki/PerfMon/ - Plugin para combinar resultados https://jmeter-plugins.org/wiki/MergeResults/ - Plugin para generar graficos https://jmeter-plugins.org/wiki/JMeterPluginsCMD/ - Docker : Contenedor de aplicacion - Aplicaciones en JAVA
  5. Pruebas de Carga - Son pruebas que nos ayudará a

    medir el performance de una aplcon una determinada carga - Identificar si la infraestructura adecuada - Identificar el comportamiento de la aplicación en picos de carga - Identificar los cuellos de botella - Identificar cual el tamaño de carga máximo que la aplicación soporta - Son ejecutadas mayormente al final del ciclo desarrollo de la aplicación
  6. JMeter Es una aplicación hecha en Java diseñada para realizar

    test de carga y medir el performance. Lanzada en el 2001 Usa multi-threading para realizar simulacion de concurrencia. Soporta diferentes protocolos: • Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …) • SOAP / REST Webservices • FTP • Database via JDBC Mas detalle en https://jmeter.apache.org/
  7. JMeter Configuración - Necesitaremos un .jmx (JMeter File Format) 1.

    Test Plan : Define parametros y variables 2. Thread group : Representan el caso de uso o escenario a. Samplers: Son los que envian los request b. Listeners: Muestran Resultado de la ejecución 3. Instalación de plugins
  8. Resultados de Pruebas OS: Windows 10.0.19042 Build 19042 Docker: Docker

    version 19.03 , Docker-compose version 1.27 Processor: i7 6700HQ 2.6 GHz MongoDB: image: mongo:4.2.9-bionic, 2048MB U: usuario L: Loops
  9. Conclusiones - JMeter nos permite bastante flexibilidad para configuración escenarios

    y parámetros para la ejecución de test . - JMeter Plugins nos permitió combinar los resultados de los test para una comparación más rápida. - El uso de Docker-compose nos ayuda a definir los recursos usados para nuestros test. - El Stack Reactivo en Spring Boot nos da una mejor respuesta en altos volúmenes de carga concurrente frente al un Stack no Reactivo.
  10. Gracias - GitHub Repository: github.com/davis243/jmeter-load-test - Email : [email protected] -

    Twitter: @davis_sarmi - LinkedIn: www.linkedin.com/in/david-sarmiento-patron