Skip to content

Latest commit

 

History

History
29 lines (22 loc) · 1.74 KB

File metadata and controls

29 lines (22 loc) · 1.74 KB

Web vs Webflux stress tests

Este proyecto busca comparar diferentes implementaciones de un servidor que consume una API HTTP externa (gateway):

  • Spring Web
  • Spring Webflux con un cliente no bloqueante (WebClient)
  • Spring Webflux con un cliente bloqueante (RestTemplate)

Con los valores de ejemplo, se estresa la aplicación con 200 requests simultáneas y la API externa tarda 2 segundos. Podés cambiar los números y ver qué pasa :D

Cómo correr las pruebas

  1. Abrí esta carpeta con IntelliJ IDEA

  2. Corré las aplicaciones (los links te llevan a cada clase main)

  3. Corré un JMeter y abrí el plan de pruebas en jmeter-tests/alltests.jmx. Si no tenés JMeter descargalo de acá.

  4. Poné play, poné play te dije!!!!!

  5. Cada "Aggregate Report" indica los resultados. Se ve algo así:

Para cambiar la cantidad de peticiones que se hacen en la prueba, configurar cada Thread Group (cada engranaje en JMeter)

Para cambiar el tiempo de tardanza de el servicio "externo", cambiar el tiempo del Thread.sleep en la clase principal de slow-api

Algunos resultados

(OkHttp3 y RestTemplate se comportan muy parecido). Los 200 requests se disparan en simultáneo