gpt4 book ai didi

jenkins - 您可以拥有多少个 Jenkins Executor?

转载 作者:行者123 更新时间:2023-12-04 02:07:02 25 4
gpt4 key购买 nike

我正在与 Jenkins 进行并行测试。

我设置它的方式是我有一个并行执行其他三个作业的构建流程作业。其他三个作业连接到单独的测试 XML 文件。

当我最初开始这个时,我遇到了一个问题,即只有两个作业会同时执行,而第三个作业只会在其他作业之一完成后才执行。

我发现这是由于我的 Jenkins 将执行者的数量设置为 2 ,现在设置为 5 .

但是,作为一个有趣的问题,只是为了 future 的规划,Jenkins 对您可以拥有的 executors 数量有上限吗?或者是否有您不应超过的推荐数量?还是仅取决于您运行它的环境?

如果有上限/建议数量不超过?我认为解决这个问题的最佳方法是使用主/从方案并将工作负载分布在多个 VM 上。

例如,如果我将它设置为 6 个执行程序,这是否意味着我将在每个 VM 上有 6 个执行程序?或者在 VM 之间共享 6 个执行程序?

最佳答案

这实际上取决于您的环境以及分配给该 Jenkins 实例的资源量。我认为 Jenkins 允许的执行人数量没有任何限制。我们目前使用 20 个执行器运行一个 Jenkins 实例,没有任何问题。当然,根据您的构建管道和提交模式,您可能会发现您设置的执行程序数量过多。您只需要注意是否在任何给定时间实际使用了所有执行程序。

如果您发现您的 Jenkins 实例已接近资源上限,并且无法增加资源限制,那么您可能想要开始使用从属设备。

我们关注资源使用情况的一种方式是通过 Monitoring plugin .

***编辑:

由于我们的管道实际在做什么,我们最近不得不重新评估我们的执行器与处理器的比率。您确实需要确定管道/作业的 CPU 限制。这将不可避免地因用例而异。

在我们的例子中,我们的管道非常受 CPU 限制,并且随着我们优化系统、引入并行处理等而变得更多。我们最终每个 cpu 核心有一个执行程序,还有一些额外的“管理”执行程序来运行快速/轻量级任务.

我们目前在具有 20 个内核的单台机器上运行 jenkins,但同样,这将根据您的用例而有所不同。我们必须进行大量计算,才能根据构建频率和目标构建时间确定需要多少个执行器/cpu 内核。当我们最终不得不提高处理能力时,我们最终会使用从属设备在多台机器之间分配作业。

另一个注意事项:您还需要考虑可用内存,因为增加执行程序的数量会增加消耗的内存量。我们有一个案例,我们有足够的处理能力但没有足够的内存,这导致 Jenkins 的进程由于 OutOfMemory 错误而崩溃。

关于jenkins - 您可以拥有多少个 Jenkins Executor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38094132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com