Estoy haciendo un proyecto en el que necesito que todas las llamadas a la API tarden menos de 1s, pero tengo un problema con la primera llamada a cada ruta que es más lenta que las siguientes.
Actualmente, la primera llamada / inicio de sesión dura 3.6 segundos y las siguientes tardan 170 ms y lo mismo para todas las demás rutas.
Descubrí que usando -XX:+TraceClassLoading
eso en la primera llamada, las clases se cargaron en la memoria y eso causó el problema de rendimiento.
Sin embargo, no encontré una manera fácil de cargar todas las clases al inicio y para cada nuevo servicio, necesito agregar una llamada de calentamiento en un ApplicationRunner.
¿Alguien tiene una solución para cargar automáticamente las clases de una aplicación SpringBoot o calentar todas sus rutas?
invokedynamic
y sabemos que la resolución es lenta en la primera llamada para esas (tenemos decenas de miles de esas llamadas, que sin esta primera llamada se acumulan en decenas de segundos).