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:+TraceClassLoadingeso 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?
invokedynamicy 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).