Identifica dónde espera tu aplicación

Una petición puede pasar buena parte de su tiempo esperando una respuesta HTTP o una consulta. Antes de cambiar el modelo de concurrencia, registra cuánto tiempo se consume en CPU, espera de conexiones y dependencias. Ese diagnóstico ayuda a elegir una prueba representativa.

Qué resuelven los virtual threads

Los virtual threads permiten ejecutar muchas tareas concurrentes con un modelo de programación basado en hilos. Son especialmente útiles cuando las tareas pasan mucho tiempo esperando operaciones de entrada y salida. No hacen que una operación de CPU se ejecute más rápido ni multiplican los recursos del sistema.

La base de datos sigue teniendo un límite

Aumentar las tareas concurrentes no aumenta las conexiones disponibles ni la capacidad de una dependencia. Diseña un límite explícito por recurso escaso. Una propuesta práctica es separar el número de tareas que puedes crear del número de operaciones simultáneas que permites hacia cada sistema externo.

Cómo plantear una prueba

Compara el comportamiento anterior y el nuevo bajo la misma carga y con los mismos límites de infraestructura. Observa latencia, errores, CPU, memoria y espera del pool de conexiones. Añade un escenario donde una dependencia responde lentamente. Define de antemano qué resultado justificaría el cambio.

Una adopción deliberada

Empieza por un flujo acotado con mucha espera de entrada y salida. Mantén los timeouts y los límites de concurrencia visibles en la configuración. Revisa la documentación de la versión de Java que utilizas y las bibliotecas involucradas antes de extender el modelo a toda la aplicación.

Más tareas concurrentes exigen conocer y proteger la capacidad de las dependencias.
Documentación de referencia

Oracle · Virtual Threads ↗