2012-04-23 11 views
6

używam Guice 3 na Google App Engine 1.6.4. Dzisiaj widziałem coś niedobrego w moim starcie. Moja aplikacja (uruchomienie lokalne) zajęła 12 sekund, aby rozpocząć.Guice czas uruchomienia na Google App Engine 1.6.4

Mam jeden ServletModule gdzie piszę wszystkie moje powiązania w metodzie configureServlets. Gdy zostawiam tę metodę pustą, moja aplikacja potrzebuje 3 sekund, aby rozpocząć.

Metoda ta zawiera ~ 30 wiązania, 3 MultiBinder i 1 mapBinder ...

  • Czy jest to normalny czas rozruchu? (~ 9s)
  • Jak profilować przetwarzanie Guice? (Log, etc ..)
  • Czy istnieje kilka dobrych praktyk w celu optymalizacji rozruchu Guice?

Dzięki!

+1

Zastanawiam się, czy zwykłe techniki profilowania Java powiedziałyby, ile z tego jest kosztem Guice, a ile to koszt budowy powiązań w każdym przypadku. Ponadto [LazySingleton] (http://groups.google.com/group/google-guice/browse_thread/thread/e34e475609c2cec4) może pomóc w rozproszeniu inicjalizacji, gdy będą one aktywnie potrzebne. –

+1

Rzeczywisty kod pomoże w ustaleniu, dlaczego zajmuje to tyle czasu. –

+0

Cholera, właśnie przełączyłem się na Google App Engine 1.6.3 i teraz zajęło to 4 sekundy ... Jest to problem z Google App Engine 1.6.4 ... Ktoś wie dlaczego? – pass1

Odpowiedz

2

Przejście na Google App Engine1.6.3 lub 1.6.5 rozwiązać problem. Wygląda na to, że jest to numer Google App Engine . Dzięki za pomoc!