Sto realizzando un progetto in cui ho bisogno che tutte le chiamate API richiedano meno di 1, ma sto affrontando un problema con la prima chiamata per ogni percorso che è più lento di quelli seguenti.
Attualmente la prima chiamata a / login richiede 3.6s e le successive prendono 170ms e lo stesso per tutte le altre rotte.
Ho scoperto che usando -XX:+TraceClassLoading
quello alla prima chiamata, le classi sono state caricate in memoria e ciò ha causato il problema delle prestazioni.
Tuttavia, non ho trovato un modo semplice per caricare tutte le classi all'avvio e per ogni nuovo servizio, ho bisogno di aggiungere una chiamata di riscaldamento in un ApplicationRunner.
Qualcuno ha una soluzione per caricare automaticamente le classi di un'applicazione SpringBoot o riscaldare tutte le sue rotte?
invokedynamic
e sappiamo che la risoluzione è lenta alla prima chiamata per quelle (abbiamo decine di migliaia di tali chiamate, che senza questa prima chiamata si accumulano in decine di secondi).