Sto cercando di capire cosa potrebbe causare un ritardo all'avvio di Jetty. È un problema di configurazione, la mia applicazione o qualcos'altro?Ritardo avvio jetty
Ho Jetty 7 (jetty-7.0.1.v20091125 25 novembre 2009) installato su un server e distribuisco un file ROOT.war da 45MB nella directory webapps. Questa è l'unica webapp configurata in Jetty. Ho poi comincio Jetty con il comando:
java -DSTOP.PORT=8079 -DSTOP.KEY=mystopkey -Denv=stage -jar start.jar etc/jetty-logging.xml etc/jetty.xml &
ottengo due linee di uscita a destra dopo aver fatto questo:
2010-03-07 14:20:06.642:INFO::Logging to StdErrLog::DEBUG=false via org.eclipse.jetty.util.log.StdErrLog
2010-03-07 14:20:06.710:INFO::Redirecting stderr/stdout to /home/zing/jetty-distribution-7.0.1.v20091125/logs/2010_03_07.stderrout.log
Quando premo il tasto invio, ho la mia schiena Prompt dei comandi. Guardando il file di registro (log/2010_03_07.stderrout.log), vedo il seguente all'inizio:
2010-03-07 14:08:50.396:INFO::jetty-7.0.1.v20091125
2010-03-07 14:08:50.495:INFO::Extract jar:file:/home/zing/jetty-distribution-7.0.1.v20091125/webapps/ROOT.war!/ to /tmp/Jetty_0_0_0_0_8080_ROOT.war___.8te0nm/webapp
2010-03-07 14:08:52.599:INFO::NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet
2010-03-07 14:09:51.379:INFO::Set web app root system property: 'webapp.root' = [/tmp/Jetty_0_0_0_0_8080_ROOT.war___.8te0nm/webapp]
2010-03-07 14:09:51.585:INFO::Initializing Spring root WebApplicationContext
INFO - ContextLoader - Root WebApplicationContext: initialization started
INFO - XmlWebApplicationContext - Refreshing Root WebApplicationContext: startup date [Sun Mar 07 14:09:51 PST 2010]; root of context hierarchy
...
Avviso la lunga pausa 1 minuto tra il 3 ° e 4 ° linee. Cosa sta facendo Jetty a questo punto? Quali altre cose potrebbero andare avanti? Non sembra nemmeno che abbia iniziato l'inizializzazione di Spring ancora.
Nota che ho controllato la mia directory/tmp per vedere se era semplicemente il momento di decomprimere il mio file di guerra, ma il file era stato completamente decompresso anche all'inizio di questo ritardo di 1 minuto.
UPDATE:
grazie ai suggerimenti, ho aggiunto la registrazione di debug. Ho scoperto che circa 2 secondi sono stati usati per estrarre il file di guerra. Ma poi c'è circa un secondo di ritardo 41 sulla Init SecureRandom:
2010-03-07 21:54:45.414:DBUG::Starting [email protected]@
2010-03-07 21:54:45.414:DBUG::Starting [email protected]
2010-03-07 21:54:45.416:DBUG::Container [email protected] + [email protected] as sessionIdManager
2010-03-07 21:54:45.416:DBUG::Starting [email protected]
2010-03-07 21:54:45.416:DBUG::Init SecureRandom.
2010-03-07 21:55:26.244:DBUG::STARTED [email protected]
2010-03-07 21:55:26.247:DBUG::STARTED [email protected]
2010-03-07 21:55:26.248:DBUG::Starting [email protected]@
2010-03-07 21:55:26.261:DBUG::Starting [email protected]@
Qual è SecureRandom, e perché dovrebbe causare questo ritardo?
SOLUZIONE:
Sembra che sono in esecuzione in un problema con il mio system not having enough load. Ho appena impostato questo come un nuovo server di staging, e nessuno lo sta usando tranne me. Quindi il sistema non ha abbastanza entropia perché il generatore di numeri casuali generi abbastanza casualità in fretta.
@Pascal, grazie per l'aiuto. Ho aggiornato la mia domanda con alcuni registri di debug. Sembra che sia bloccato su SecureRandom. Qualche idea? – Tauren
@Pascal, penso di aver trovato la soluzione. La tua risposta mi ha aiutato a trovarlo, grazie! http://docs.codehaus.org/display/JETTY/Connectors+slow+to+startup – Tauren
Inoltre, sono tornato alla versione 6.1.22 in base al tuo suggerimento. – Tauren