Почему консоль администратора Glassfish такая медленная? - PullRequest
8 голосов
/ 12 марта 2011

Я использую GlassFish Server Open Source Edition 3.0.1 (сборка 22). Как в моей среде разработки (Mac OSX, 4 ядра и 8 ГБ ОЗУ), так и в производственной среде (Linux, 2 ядра, 4 ГБ) консоль мучительно медленно запускается.

Машина в основном простаивает. Что делает Glassfish? Есть ли что-нибудь, что можно настроить, чтобы он быстрее запускался?

Обновление 1 :

Пример. Я пытался реплицировать некоторые конфигурации JDBC, которые я внедрил и протестировал локально, до моего сервера. Я просто потратил ЧАС, пытаясь скопировать конфигурацию, потому что не могу одновременно открыть консоли dev и prod glassfish без истечения времени ожидания одной из них.

Я бы заставил консоль разработчика открыться, затем, наконец, рабочую, но когда я щелкаю обратно в своем окне разработки, оно уже истекло, и теперь пытается перезапустить себя.

Это безумие. Час для репликации простого соединения JDBC? Кто-нибудь действительно может успешно использовать это в производстве?

Обновление: 2

Я нашел две вещи, которые имели огромное значение:

  1. Аяксские аспекты интерфейса Glassfish кажутся очень хрупкими. У меня были открыты две вкладки браузера, одна для localhost:4848, а другая для localhost:9000. Первая вкладка была посвящена серверу Glassfish, работающему на локальном хосте. Вторым был удаленный сервер, переадресованный через порт для отображения в качестве локального сервера через ssh. Обычно это не проблема, но я подозреваю, что это сбивает с толку обработку сессии в glassfish, чтобы увидеть два сервера на одном «хосте», даже если они находятся на разных портах.

  2. Я обновил свой 3.0 до 3.1. Это, похоже, устранило большую задержку запуска.

Надеюсь, этот пост поможет кому-то другому не перенести эту травму. Спасибо всем за ваши предложения.

Ответы [ 5 ]

10 голосов
/ 12 марта 2011

Может быть связано с модулем обновления Glassfish.

Во время каждого запуска консоли модуль обновлений пытается подсчитать все доступные обновления. Поскольку вы используете GF 3.0.1, существует множество обновлений с 28 февраля, когда был выпущен новый Glassfish 3.1. Может быть до 70 или более обновлений, и серверы обновлений должны обрабатывать большое количество запросов с того дня.

У меня была такая же проблема. Но я мог решить эту проблему, наконец-то найдя хорошую дискуссионную тему в Jira Glassfish Найдите здесь возможные решения . Вам не нужно читать всю ветку, ищите резюме-пост от Sun, 13.12.2009 12:42:48 от Anissa Lam.

Подводя итог этой статье (подробности можно найти здесь):

  1. Добавление опции jvm в конфигурацию glassfish для отключения доступа к сети для консоли администратора
  2. Переименуйте модуль обновления в каталоге модулей Glassfish.

Надеюсь, это поможет!

5 голосов
/ 12 марта 2011

Нет, это не только ты.Администраторский интерфейс Glassfish 3 ужасно отстой, и, насколько я могу судить, с этим ничего не поделаешь.Но я заметил, что все проблемы, похоже, на уровне представления.Если я использую asadmin или выполняю AJAX-вызовы напрямую, производительность будет приемлемой.Лучше всего выяснить, как вы можете делать то, что вам нужно, без использования графического интерфейса.Начните с изучения команд asadmin для часто выполняемых задач, таких как развертывание и удаление приложений.

Если бы я хотел скопировать конфигурацию JDBC из одного экземпляра в другой, я бы просто открыл файлы domain.xml ивручную скопируйте элементы jdbc-resource и jdbc-connection-pool.(Вероятно, есть способ сделать это «правильно» с помощью asadmin, но изучение того, как это сделать, заняло бы у меня в десять раз больше времени, чем «неправильный» способ, поэтому я никогда не беспокоился.)

0 голосов
/ 01 августа 2016

Лично я использую ноутбук и у меня точно такая же проблема. Я обнаружил, что мое устройство работает в режиме низкого энергопотребления. Как только я изменил его на сбалансированное энергопотребление, все время обработки сильно уменьшилось.

0 голосов
/ 23 августа 2011

мы отключили автоматическое обновление через настройки инструмента обновления, и проблема была решена. Обратите внимание, что для этого необходимо установить инструмент обновления

0 голосов
/ 12 марта 2011

У вас определенно происходит какое-то сетевое время ожидания. Эти операции должны занять несколько секунд. Есть ли что-нибудь полезное в server.log? Многие проблемы зависания, как правило, связаны с обратным поиском DNS. Сетевой анализатор покажет вам, к чему он пытается получить доступ.

...