Hudson: сборка занимает больше времени, чем требуется, если запустить ее локально

Я обнаружил необычное поведение на Гудзоне. Задания Hudson занимают около 25 минут, тогда как, когда я запускаю то же задание локально, это занимает 9 минут. Что мне здесь не хватает?

Я увеличил JAVA_OPTS, MAVEN_OPTS и даже дал серверу больше памяти для начала. В машине 12 гигов памяти.

-Xrs -Xms1024m -Xmx1024m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\hudson.war" --httpPort=9090 --ajp13Port=9099

MAVEN_OPTS:

C:>эхо %MAVEN_OPTS% -Xmx1024M -XX:MaxPermSize=1024m

JAVA_OPTS:

C:>эхо %JAVA_OPTS% -сервер -Xms1024m -Xmx1024m

Тем не менее сборка занимает 25 минут.


person Vanchinathan Chandrasekaran    schedule 16.05.2011    source источник
comment
Может быть, причиной разницы во времени является процесс загрузки исходников из вашей системы контроля версий? Кроме того, вы можете захотеть разбить тайминги, например, какой шаг занимает сколько времени на вашей машине и Хадсоне.   -  person cheekoo    schedule 17.05.2011
comment
Какую версию maven вы используете на своей машине и на машине hudson (если не то же самое)   -  person John Vint    schedule 17.05.2011


Ответы (1)


Сравнение локальной сборки в одной системе со временем, которое требуется hudson для завершения сборки в совершенно другой системе, не обязательно указывает на какие-либо проблемы (может быть, ваша локальная машина лучше, чем ваш сервер сборки?)

На вашем сервере hudson (возможно, через SSH) запустите сборку mvn и посмотрите, сколько времени потребуется для запуска.

Затем запустите ту же сборку через hudson в той же системе и посмотрите, сколько времени она займет.

Тогда вы не будете сравнивать две разные машины.

Кроме того, ваша сборка hudson может делать намного больше, чем ваша обычная сборка - например, если вы просите ее начать с чистого репозитория перед сборкой, она будет выполнять много загрузок для каждой сборки, которой не будет на вашей локальной машине. делать - особенно если у вас нет кэшированного сервера репозитория maven, работающего в вашей локальной сети.

person Ryan    schedule 16.05.2011
comment
+1 для ввода-вывода, у нас была та же проблема, и мы отследили ее до функции сборки архива, которая копирует рабочее пространство с подчиненного устройства на главный hudson через SSH, что было очень медленным (небуферизованным?) - person mhaller; 17.05.2011
comment
+1 за общий подход. У нас была аналогичная проблема, и мы обнаружили, что сборка была намного медленнее с java 6 по сравнению с java 5. На самом деле это ошибка java 6, но не думайте, что она будет исправлена ​​​​в ближайшее время. - person Peter Schuetze; 23.05.2011