【发布时间】:2018-12-08 15:40:29
【问题描述】:
我在同一个 Windows 服务器上创建两个从站或一个从站和两个执行器之间有什么区别吗?
【问题讨论】:
标签: jenkins jenkins-slave
我在同一个 Windows 服务器上创建两个从站或一个从站和两个执行器之间有什么区别吗?
【问题讨论】:
标签: jenkins jenkins-slave
是的,有区别:它与内存消耗和维护/管理工作量有关。
因此很明显,与运行两个从属服务器(每个执行程序一个执行程序)相比,在一个从属服务器上运行两个执行程序的总内存消耗更少,因为主进程的内存消耗会是两倍:
2 * Main Processes + 2 * Executors > 1 * Main Process + 2 * Executors
此外,管理从属服务器比仅执行一个执行程序需要更多的工作:虽然执行程序几乎没有什么可担心的,但有许多事情需要为从属配置。此外,两个从站的功能无论如何都是相同的(它们运行在同一个操作系统上,如您所说),因此为其分配不同的标签几乎没有任何附加值。
简而言之,如果没有其他边界条件让我做不同的事情,我总是更喜欢在一个奴隶上运行两个执行器,因为这样更容易管理并且节省了一些内存。
【讨论】:
奴隶是一台“机器”。 executor是slave中的一个“OS进程”。
因此,理想情况下,我们总是添加执行器 - 他们完成工作并且可以并行运行,您的问题的简单理论答案是“一个奴隶上的 2 个执行器”
在实践中,我们需要在几个用例中添加从站:
根据您的用例做出决定。
【讨论】:
我立即想到在给定节点上运行 1 个执行程序的一个好处是防止同时运行的进程之间发生冲突。
另一方面,您可以使用现有的 Jenkins 插件来防止工作冲突,即。繁重的工作,构建拦截器。
【讨论】: