Сколько Исполнителей Я Могу Иметь Для Узла Сборки Jenkins Windows?

  • Автор темы Lemneumncredo34
  • Обновлено
  • 20, Oct 2024
  • #1

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

#дженкинс

Lemneumncredo34


Рег
29 Dec, 2011

Тем
72

Постов
174

Баллов
564
  • 25, Oct 2024
  • #2

В его конфигурации вы можете указать исполнителей вашего узла.

Управление Jenkins -> Управление узлами -> Настроить узел -> Количество процессоров сборки.

В средах, где мы запускаем только сценарии и т. д., у нас есть один исполнитель на каждое ядро.

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

https://www.jenkins.io/doc/book/scaling/architecting-for-scale/#Calculating-how-many-jobs

 

Vlaf352


Рег
07 Jul, 2020

Тем
96

Постов
228

Баллов
728
  • 25, Oct 2024
  • #3

Проектирование для масштабных расчетов не дает хороших расчетов, а является лишь отправной точкой. Он не учитывает, как часто срабатывают ваши задания. Ответ действительно зависит от того, что вы выполняете и как часто. Вы выполняете интенсивную работу, тяжелую работу по вводу-выводу или тяжелую сетевую работу? Есть ли у вас триггер конвейера CI при каждом коммите (и как часто это происходит) или задания, выполняемые вручную?

У нас есть более 9000 заданий всех видов: от сборок и конвейеров, запускаемых вручную и CI-проверкой (Java и JS), до ночных заданий по интеграции/регрессии, заданий по управлению файлами, заданий по анализу, иногда взаимодействовать с реальным оборудованием или моделировать ожидание или ждать удаленной обработки результатов. Выполняется около 1000 заданий в день. У нас есть победные узлы, узлы Linux, общий пул и узлы с ограниченным доступом по меткам, все они основаны на виртуальных машинах и посвящены Дженкинсу. У нас даже есть некоторые виртуальные машины, на которых работают два разных агента/узла на одной виртуальной машине, с разными настройками, что фактически приводит к превышению распределения ресурсов, но на практике это не так.

Короткий ответ: начните с одного исполнителя/ядра и загрузите его, измерьте нагрузку (cpu/io/net/duration) и посмотрите. Сколько времени занимает каждое задание отдельно (100%) по сравнению с одним из многих параллельных? Агрегат быстрее или дольше? Как сравнить нагрузки?

Мы обнаружили, что когда мы знаем, что запускаем, в определенное время мы можем легко использовать 2 исполнителя на ядро. Время от времени всего 2 задания, интенсивно использующие память, исчерпают память, даже если используется всего 2/4 исполнителей (не повезло, перезапустите одно).

Все может быть по-другому, если все ваши агенты облачные или временные.

ЮММВ.

 

BigNiiga


Рег
07 Sep, 2014

Тем
56

Постов
178

Баллов
498
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно