Realizuję projekt, w którym potrzebuję wszystkich wywołań interfejsu API, aby trwały krócej niż 1s, ale mam problem z pierwszym wywołaniem każdej trasy, który jest wolniejszy niż kolejne.
Obecnie pierwsze połączenie z logowaniem trwa 3,6 sekundy, a kolejne 170 ms i tak samo dla wszystkich pozostałych tras.
Dowiedziałem się, -XX:+TraceClassLoadingże przy pierwszym wywołaniu klasy zostały załadowane do pamięci, co spowodowało problem z wydajnością.
Jednak nie znalazłem łatwego sposobu na załadowanie wszystkich klas podczas uruchamiania i do każdej nowej usługi muszę dodać wywołanie rozgrzewające w ApplicationRunner.
Czy ktoś ma rozwiązanie, aby automatycznie załadować klasy aplikacji SpringBoot lub rozgrzać wszystkie jej trasy?
invokedynamici wiemy, że rozdzielczość przy pierwszym wywołaniu jest powolna (mamy dziesiątki tysięcy takich wywołań, które bez tego pierwszego połączenia kumulują się do dziesiątek sekund).