2013-02-22 5 views
11

Notre serveur Jenkins (machine Linux) ralentit avec le temps et ne répond plus. Tous les travaux prennent de façon inattendue longtemps (même s'ils fonctionnent sur des esclaves qui sont des machines différentes du serveur). L'une des choses que j'ai observées est l'augmentation du nombre de fichiers ouverts. Le nombre semble augmenter comme indiqué dans l'image ci-dessous. Est-ce que quelqu'un a une solution pour continuer à vérifier cela sans redémarrer le serveur? De plus, y a-t-il des configurations/réglages qui pourraient améliorer les performances du serveur jenkins?Comment améliorer les performances du serveur Jenkins?

enter image description here enter image description here

+0

Je me demande s'il existe des travaux Jenkins pour lesquels le compilateur et/ou le test n'est pas correctement nettoyé. J'ai vu un problème similaire sur une machine Windows lorsque l'un des tests unitaires laissait une nouvelle copie d'Excel s'exécuter chaque fois qu'elle était exécutée. – jwernerny

+0

Combien de travaux et combien de builds? Si vous avez un grand nombre de travaux, et que chaque travail a beaucoup de builds, je peux voir cela se produire. J'ai mon installation Jenkins pour supprimer les anciens travaux ou artefacts après tant de jours ou de builds. Dans la configuration du travail, vous pouvez rechercher "Supprimer les anciens builds" –

+0

@LarryShatzer Nous avons plus de 300 jobs et en moyenne chaque job va stocker 10 builds. Certains emplois sont lourds et prennent 3 heures de temps et certains sont légers. Dans l'ensemble, le serveur est utilisé assez largement la majorité des fois –

Répondre

5

Nous utilisons Jenkins pour un an et nous avons essayé de le garder jusqu'à ce jour à (plug-ins Jenkins +). Comme vous, nous avons expérimenté des inconvénients, selon les nouvelles versions de Jenkins ou des plug-ins ... Nous avons donc décidé d'arrêter ce « continue » mise à niveau

Le pire était mise à jour de plug-in Active Directory (1,36 à 1,37), l'authentification a pris plusieurs minutes.

Humblement, voici quelques conseils:

  1. Mise à jour Jenkins, mais utilisez seulement "Long Term Support" versions (dernier en date est 2.73.3)
  2. Restart Jenkins tous les soirs
  3. Ajouter à votre RAM serveur. système de fichiers, utilisez Jenkins a beaucoup et cela améliorera la mise en cache
  4. Définir les paramètres de mémoire JVM min/max avec la même valeur pour éviter la réaffectation dynamique, par exemple: -Xms4G -Xmx4G
  5. Ajouter des esclaves et exécuter des tâches que sur les esclaves
1

outre ci-dessus, vous pouvez aussi essayer:

  1. Rejeter vieux construit
  2. distribuez le fait fond sur plusieurs esclaves, si possible.
Questions connexes