Как улучшить производительность сервера Jenkins?

Наш сервер Jenkins (Linux-машина) замедляется в течение определенного периода времени, и он становится невосприимчивым. Все задания выполняются неожиданно долго (хотя они работают на подчиненных устройствах, которые являются разными машинами с сервера). Одна из вещей, которую я наблюдал, - увеличение количества открытых файлов. Число, кажется, увеличивается, как показано на рисунке ниже. Есть ли у кого-нибудь решение продолжить проверку без перезагрузки сервера? Кроме того, существуют ли какие-либо конфигурации/настройки, которые могли бы повысить производительность сервера jenkins?

enter image description hereenter image description here

Ответ 1

Мы используем Jenkins в течение одного года, и мы старались поддерживать его в актуальном состоянии (Jenkins + плагины). Как и вы, мы экспериментировали с некоторыми неудобствами, в зависимости от новых версий Jenkins или плагинов... Поэтому мы решили остановить это "непрерывное" обновление

Худшим было обновление плагина Active Directory (от 1,36 до 1,37), проверка подлинности заняла несколько минут.

Смиренно, вот несколько советов:

  • Обновите Jenkins, но используйте только версии с поддержкой "Долгосрочной поддержки" (последняя версия - 2.73.3).
  • Перезагрузите Дженкинса каждую ночь.
  • Добавить RAM на ваш сервер. Дженкинс много использует файловую систему, и это улучшит кеширование.
  • Определите параметры памяти min/max JVM с тем же значением, чтобы избежать динамического перераспределения, например: -Xms4G -Xmx4G
  • Добавить подчиненные устройства и выполнять задания только на подчиненных устройствах

Ответ 2

В дополнение к выше, вы также можете попробовать:

  • Отбросить старые сборки
  • Распределите сборки на нескольких подчиненных устройствах, если это возможно.