Как я могу сократить время запуска Glassfish с 2 минут до приемлемого уровня?

Я использую Glassfish Open Source Edition v3.1.1 на Ubuntu 12.04 Micro Instance в Amazon EC2 (Elastic Compute Cloud). Я настроил один домен с одним приложением. Когда я запускаю домен с time asadmin start-domain, он сообщает со следующим:

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

Две минуты... Что занимает две минуты? Можно ли как-нибудь ускорить процесс или я просто должен использовать другие решения, такие как Tomcat или Jetty, для своего сервера приложений? При перезапуске Glassfish на моем локальном клиентском компьютере с Windows 8 это занимает несколько секунд, а не минут. Хотя я понимаю, что у моего компьютера больше оборудования, запуск простого сервера приложений не должен занимать две минуты.

Я попытался добавить следующие две JVM-опции в файл конфигурации домена, как это было рекомендовано в других обсуждениях, но безрезультатно: -Djava.net.preferIPv4Stack=true а также Dcom.sun.enterprise.tools.admingui.NO_NETWORK=1

обновление: после двух запусков с --verboseЭто отредактированное сравнение двух интересных сегментов:

Прогон № 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:

Прогон № 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:

Полный журнал пробежки № 2 на pastbin здесь

Интересно отметить огромную разницу во времени между второй и третьей линиями в двух сериях. (3 секунды против 1 минуты +)

Я также могу добавить, что во время запуска сервера отклик консоли очень медленный во втором окне SSH - до такой степени, что ls занимает несколько секунд, чтобы ответить.

редактировать 2 Freeвыход после запуска сервиса:

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

1 ответ

Решение

Обратите внимание, что микро-экземпляр:

  • очень ограничен с точки зрения CPU и использует концепцию пакетного распределения. Точное описание: до 2 вычислительных блоков EC2 (для коротких периодических посылок).

  • очень ограничен в объеме памяти (613 МБ). Убедитесь, что Glassfish не пытается перераспределить ресурсы, так как вы переключаетесь на диск, и это сильно наказывается в AWS EC2.

Уверен, что вы попали в одну из этих 2...

Другие вопросы по тегам