我在同一个 Windows 服务器上创建两个从站或一个从站和两个执行器之间有什么区别吗?
问问题
5296 次
3 回答
10
是的,有区别:这是关于内存消耗和维护/管理的努力。
- 在系统上启动从站会启动一个(主)进程。此进程需要(私有)主内存来运行并连接到主内存。
- 每个执行者都是主进程的一个子进程。
因此很明显,与运行两个从属服务器(每一个执行程序)相比,在一个从属服务器上运行两个执行程序总共花费更少的内存,因为主进程的内存消耗会是两倍:
2 * Main Processes + 2 * Executors > 1 * Main Process + 2 * Executors
此外,管理从属服务器比仅执行一个执行程序需要更多的努力:虽然执行程序几乎没有什么可担心的,但有许多事情需要为从属配置进行配置。此外,两个从站的功能无论如何都是相同的(它们运行在同一个操作系统上,就像你说的那样),所以几乎没有附加值来分配不同的标签。
简而言之,如果没有其他边界条件让我做不同的事情,我总是更喜欢在一个奴隶上运行两个执行器,因为这样更容易管理并且节省了一些内存。
于 2016-05-20T21:27:18.237 回答
4
奴隶是一台“机器”。执行者是从站中的“OS 进程”。
因此,理想情况下,我们总是添加执行者 - 他们完成工作并且可以并行运行,您问题的简单理论答案是“一个奴隶上有 2 个执行者”
在实践中,我们需要在几个用例中添加从站:
- 我们需要更多的资源(更多的 CPU、更多的内存、更多的“机器”)
- 我们需要不同的设置(不同的操作系统,不同的硬件)
- 我们拥有全局资源,这些资源会为同一台机器上的执行程序造成冲突(用于 UI 测试过程的共享浏览器)
根据您的用例做出决定。
于 2018-12-08T07:40:29.593 回答
0
我立即想到在给定节点上运行 1 个执行程序的一个好处是防止同时运行的进程之间发生冲突。
另一方面,您可以使用现有的 Jenkins 插件来防止工作冲突,即。繁重的工作,构建拦截器。
于 2016-05-22T08:24:21.693 回答