Skip to content

ghostframe/web-vs-webflux

Repository files navigation

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

About

Una comparación simple de web con webflux bajo estrés y latencia de IO

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages