Сравнение времени запуска сервера приложений? - PullRequest
2 голосов
/ 21 сентября 2009

Несколько месяцев назад я прочитал пост в блоге, в котором сравнивались разные серверы приложений (Java) с акцентом на время, необходимое для запуска / перезапуска серверов после развертывания нового / измененного фрагмента кода, и обсуждение потерянная производительность разработчика, вызванная этим перезапуском.

Я забыл добавить в закладки пост в блоге; Я пробовал Google, но не могу найти оригинальную статью.

Кто-нибудь еще видел / читал эту статью или имеет ссылки на аналогичные статьи / статистику?

Ответы [ 3 ]

5 голосов
/ 21 сентября 2009

Я думаю, что вы ищете " Результаты опроса: контейнеры Java EE - рай или ад? " от JavaRebel JRebel парни.

1 голос
/ 21 сентября 2009

Есть несколько статей по этому поводу, поэтому трудно точно знать, на какую именно вы ссылаетесь.

Это, как говорится, действительно зависит от технологического стека. Если вам нужна полная реализация J2EE, а не просто контейнер J2EE, то время запуска будет совсем другим.

Например, Tomcat может быть запущен в считанные секунды. На моей машине примерно 1-2 секунды. Конечно, это J2EE-контейнер. Он не включает в себя такие функции, как EJB. Но в наши дни, кому это действительно нужно.

Полные реализации J2EE, такие как, например, JBoss и Weblogic, потребуют гораздо более длительного времени запуска сервера. Обычно от полминуты до нескольких минут.

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

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

0 голосов
/ 21 сентября 2009

Давайте начнем с идеи, что приложение должно быть развернуто в полной форме только для интеграционного тестирования.Такое может случиться два раза в день.В остальное время вы выполняете модульное и локальное интеграционное тестирование (т. Е. Тест JUnit с фактическим подключением к базе данных), и эти тесты имеют время запуска, близкое к нулю.

Моя активность разработчика выглядит так:

  • писать (поддельные) модульные тесты и код одновременно;запускать модульные тесты можно 20 раз, прежде чем код заработает, как я ожидаю
  • написать локальные интегрированные тесты для основных случаев;выполнить тесты можно 3 или 5 раз, прежде чем я буду уверен, что все в порядке
  • упакуйте все приложение и выполните обход сценария через пользовательский интерфейс один или два раза

ВРаспределение времени, такое как время запуска AS, не сильно влияет на мою производительность.

Поэтому вместо того, чтобы жаловаться на AS, лучше сначала попытаться организовать процесс разработки.

...