Mam małą aplikację internetową skonfigurowaną z Guice, Jersey i EclipseLink i uruchamiam tę aplikację na pomoście (8.0.0.M1) podczas programowania. Istnieje około 10 (małych) klas zarządzanych JPA (encje i pliki do osadzenia) i łącznie około 20 klas.Przyspieszanie uruchamiania aplikacji na Jetty
Pierwsze uruchomienie trwa 15 sekund + 5 sekund dla pierwszych żądań. Wygląda na to, że JPA pracuje nad pierwszym żądaniem, ponieważ mam włączoną strategię generowania tabeli "create" i zobacz niektóre wyniki WZP z Maven na pierwsze żądanie.
Przeładowanie trwa około 10 sekund, a pierwsze żądanie po ponownym załadowaniu trwa od 3 do 4 sekund.
Może się wydawać, że czas uruchamiania nie jest taki zły, ale zastanawiam się, czy mogę przyspieszyć uruchomienie, aby pracować płynniej jak z Django. Masz pomysł na tuning startowy?
Czy problem dotyczy czasu rozruchu jako takiego, czy też pierwszy użytkownik musi ponieść koszty uruchomienia? Jeśli jest to drugie, możesz poprosić aplikację o wysłanie prośby do siebie po uruchomieniu, aby ją rozgrzać. Wtedy pierwszy użytkownik widzi normalny czas reakcji. –
Moją obawą jest czas uruchamiania podczas programowania. Ponowne uruchomienie jest stosunkowo rzadkie w produkcji, więc zaakceptowałbym, że pierwszy użytkownik musi odczekać kilka sekund. – deamon
Po ponownym uruchomieniu ze względu na zmiany w kodzie (nie zmiany schematu), staraj się unikać restartów (prawie) całkowicie za pomocą JRebel (http://www.zeroturnaround.com/jrebel/). To nie jest darmowe, ale oszczędza dużo czasu (nie jestem z nimi związany). – DaGGeRRz