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.

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