3

在构建我们当前的项目时,GWT编译需要相当多的总时间(目前总共约 25 分钟,2/3 gwt 编译)。我们研究了如何优化它(例如这里),但最终我们决定购买一个新的构建服务器。GWT 编译是一项占用大量 CPU 的任务,因此我们进行了一些测试来分析每个内核的改进:

  • 1 个核心 = 197 秒
  • 2 核 = 165 秒
  • 3 核 = 149 秒
  • 4核=157s(可能是最后一个核忙于其他任务)

从这些数字来看,添加更多内核似乎并不一定会提高性能,因为这些数字似乎趋于平缓。

1.)所以现在我会很感兴趣,如果你们中的某个人可以证实/反驳这一点?所以 8 或 12 核并不一定会产生影响 - 但单个 cpu 速度 (mhz) 会产生影响吗?

2.) 在看到一些基准后,我们​​的销售人员倾向于购买 *ntel xeon - AMD 有经验吗?(我更像是一个 AMD 人,但目前似乎很难忽视基准测试)

3.) 欢迎任何其他关于内存、IO 等的建议

更新:当我们得到新服务器时,我会发布更新的数字......

4

1 回答 1

2

我们使用的是 AMD FX-8350 (@4.00 Ghz) 和三星 830 Pro SSD。我们已经设置localWorkers=4好了-Xmx2048m。之前我们使用的是 Intel XEON E5-2609 (@2.40 Ghz)。这将编译时间从约 440 秒减少到约 310 秒。

因此,我们还体验到,在单个编译进程(localWorkers=4)的情况下,原始 CPU 速度最重要。如果在这台机器上同时运行多个编译进程,SSD 会提高 IO 等待时间,该时间会随着并发编译进程的数量而增加。

我们当前的硬件同时支持多达 4 个 maven 构建(每个构建的 localWorkers=4),然后使用高达 20GB 的 RAM。随着并发构建数量的增加,构建时间也会增加。但这不是线性增加,因此我们尝试减少单个 maven 进程(Java 类编译、测试等)并非所有资源都使用的时间段的空闲时间。

当我们比较硬件价格时,我们决定在我们的 Jenkins buildfarm 中购买一台用作奴隶的消费类 PC。整体价格比服务器硬件便宜得多,并且可以在硬件故障的情况下轻松更换新的。

于 2014-11-11T12:44:05.083 回答