如何提高 Jenkins 服务器性能?

15
我们的Jenkins服务器(Linux机器)随着时间的推移变得越来越慢,并且变得无响应。所有工作都需要意外地长时间(即使它们在与服务器不同的从机上运行)。我观察到的其中一个问题是打开文件的数量增加了。如下图所示,该数字似乎在增加。有没有解决办法可以在不重新启动服务器的情况下对其进行检查?此外,是否有任何配置/调整可以提高Jenkins服务器的性能?

enter image description here enter image description here


我想知道是否有一些Jenkins作业,编译器和/或测试没有被正确清理。当其中一个单元测试每次执行时都会留下Excel的新副本时,我在Windows机器上看到了类似的问题。 - jwernerny
@LarryShatzer 我们有超过300个工作,平均每个工作会存储10个构建。一些工作很重,需要3小时的时间,而一些则很轻便。总体而言,服务器被广泛使用,大部分时间都在运行。 - Shiva Kumar
你正在运行哪个版本?更新的版本具有延迟加载功能,可以提高性能。 - Larry Shatzer
嗨,Shiva Kumar!我们遇到了相同的问题,你最终找到解决方案了吗? - Thobias Karlsson
@ThobiasKarlsson:虽然不多,但我们在服务器上增加了文件描述符计数,并开始遵循一些指南,比如这里提到的指南 - Shiva Kumar
显示剩余2条评论
2个回答

13

我们已经使用Jenkins四年了,试图保持Jenkins及其插件的最新状态。但是,就像您一样,我们在升级至新版本的Jenkins或插件时遇到了一些不方便...

因此,我们决定停止这种“持续”升级。

以下是一些简单的提示:

  1. 避免技术债务。尽可能更新Jenkins,但只使用“长期支持”版本(最新版本为2.138.2)。
  2. 在任何升级之前备份整个 jenkins_home
  3. 每晚重启Jenkins。
  4. 向服务器添加RAM。Jenkins大量使用文件系统,这将提高缓存效果。
  5. 使用相同值定义JVM最小/最大内存参数,以避免动态重新分配,例如:-Xms4G -Xmx4G
  6. 添加从机并只在从机上执行作业。

1

除了上述方法,你还可以尝试:

  1. 丢弃旧版本
  2. 如果可能的话,将构建分发到多个从节点上。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接