Estou fazendo um projeto em que preciso que todas as chamadas de API levem menos de 1s, mas estou enfrentando um problema com a primeira chamada em cada rota mais lenta que as seguintes.
Atualmente, a primeira chamada para / login leva 3,6s e as próximas levam 170ms e o mesmo para todas as outras rotas.
Descobri usando -XX:+TraceClassLoading
isso na primeira chamada, as classes foram carregadas na memória e isso causou um problema de desempenho.
No entanto, não encontrei uma maneira fácil de carregar todas as classes na inicialização e, para cada novo serviço, preciso adicionar uma chamada de aquecimento em um ApplicationRunner.
Alguém tem uma solução para carregar automaticamente as classes de um aplicativo SpringBoot ou aquecer todas as suas rotas?
invokedynamic
e sabemos que a resolução é lenta na primeira chamada para elas (temos dezenas de milhares de chamadas, que sem essa primeira chamada acumulam dezenas de segundos).