Как я могу сократить время запуска 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...