java - 将自动构建从 2-CPU 披萨盒重新调整为多 CPU 怪物?

标签 java build-automation bamboo

我们当前的自动化构建由 1 个主盒和 4 个 core-2-duo 披萨盒(大约 2.5Ghz)组成,每个盒有 3 GB 内存,全部运行 Ubuntu Linux。 (使用bamboo)

我被要求重新校准它以便在一个或多个 Solaris 机器上运行。我们当前的构建由 java 构建、长时间运行的集成测试构建和自动化 Selenium 测试的混合组成 - 一个相当典型的大型项目构建。 我们当前的环境有足够的容量,我们可能失去一个核心左右也没有问题。

我们正在寻找具有“大”内存(16-32GB?我可以选择)的 8 CPU Solaris 机器。或者可能是几台 4 CPU 机器?

我可以期望行为在单个框中以相当线性的方式扩展吗?我在这里寻找实际的经验;关于如何进行的“理论”观察 IO可能会成为一个不太有趣的问题。

最佳答案

实际上,我发现构建大部分时间都花在进行某种 IO 上。因此,增加 CPU 数量并没有您想象的那么有帮助。 但是,额外的计算机将具有额外的磁盘和网络带宽。所以他们可能会提供更多帮助。但是,您可以改进单个盒子的配置并可能获得相同的性能。

您通常同时运行多少个构建?如果您现在通常有 2 个构建在排队(并且 2 个正在运行),那么同时运行 4 个构建会是一种改进。但除此之外并不会产生太大影响。

如今,配备 64 GB 内存的八核机器已成为新服务器的标准配置。在此配置中,我建议使用 SSD 驱动器来改善磁盘访问时间并运行四到八个构建器/代理,如果您通常有八个或更少的构建等待,那么这可能就足够了。

关于java - 将自动构建从 2-CPU 披萨盒重新调整为多 CPU 怪物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/472347/

相关文章:

java - 电子邮件代码使 java spring MVC 中的代码变慢

iPhone 构建配置 - Entitlements.plist

gulp - 使用 gulp-watch 创建正常的 "build"任务,而无需重复任务

scripting - 如何在内联脚本中引用 Bamboo 工件?

angular-cli - Bamboo - "ng command not found"

continuous-integration - 如何在 Bamboo 中运行 .NET Core 单元测试?

java - 在运行时更改 Web 应用程序的状态

java - 使用 Java 在 BST 中搜索单词

java - Spring Data REST - 如何按 JSON 忽略字段对实体进行排序?

delphi - 如何将 VCL 框架添加到现有的 Delphi 项目中(或知道它是否已添加)