Como posso reduzir o tempo de inicialização do Glassfish de 2 minutos para algo aceitável?

3

Estou executando o Glassfish Open Source Edition v3.1.1 em uma instância do Ubuntu 12.04 no Amazon EC2 (Elastic Compute Cloud). Eu configurei um único domínio com um único aplicativo. Quando eu inicio o domínio com time asadmin start-domain , ele informa com o seguinte:

Waiting for domain1 to start ............................
(...)
Command start-domain executed successfully.
real    2m6.599s

Dois minutos ... O que leva dois minutos? Existe alguma maneira que eu possa acelerar o processo ou devo apenas ir para outras soluções como o Tomcat ou Jetty para o meu servidor de aplicativos? Ao reiniciar o Glassfish no meu computador cliente local do Windows 8, leva segundos, não minutos. Embora eu perceba que meu computador tem mais hardware, não deve demorar dois minutos para iniciar um servidor de aplicativos simples.

Eu tentei adicionar as duas JVM-OPTIONS a seguir ao arquivo de configuração do domínio, conforme recomendado em outro discussões , sem sucesso: -Djava.net.preferIPv4Stack=true e Dcom.sun.enterprise.tools.admingui.NO_NETWORK=1

update: Depois de fazer dois lançamentos com --verbose , essa é uma comparação editada de dois segmentos interessantes:

Run # 1

[#|2013-03-15T11:32:48.597+0000| Created virtual server [__asadmin]|#]
[#|2013-03-15T11:33:12.244+0000| Virtual server [server] loaded default web module    []|#]
[#|2013-03-15T11:33:15.973+0000| Scanning for root resource and provider classes in the packages:

Run # 2

[#|2013-03-15T11:36:10.707+0000| Created virtual server [__asadmin]|#]
[#|2013-03-15T11:36:25.127+0000| Virtual server [server] loaded default web module []|#]
[#|2013-03-15T11:37:37.198+0000| Scanning for root resource and provider classes in the packages:

Log completo da corrida nº 2 na pastbin aqui

O que importa notar é a grande diferença de tempo entre as linhas 2 e 3 nas duas corridas. (3 segundos vs 1 min +)

Também posso adicionar que, enquanto o servidor está sendo iniciado, a resposta do console é muito lenta em uma segunda janela SSH - até o ponto em que ls leva segundos para responder.

edite 2 Free -output após o lançamento do serviço:

              total       used       free     shared    buffers     cached
 Mem:        604376     469776     134600          0       8976      78212
 -/+ buffers/cache:     382588     221788
 Swap:            0          0          0
    
por Nilzor 15.03.2013 / 12:17

1 resposta

4

Note que uma micro instância é:

  • muito limitado em termos de CPU & ele usa o conceito de alocação expansível. A descrição exata é: Até 2 Unidades computacionais EC2 (para rajadas periódicas curtas).

  • muito limitado em termos de memória (613MB). Certifique-se de que o Glassfish não tente alocar excessivamente, já que você irá trocar para o disco e isso será strongmente penalizado no AWS EC2.

Tenho certeza que você está acertando um desses 2 ...

    
por 15.03.2013 / 12:35

Tags