新构建服务器GWT编译的最佳CPU

新构建服务器GWT编译的最佳CPU,gwt,cpu,intel,build-server,amd-processor,Gwt,Cpu,Intel,Build Server,Amd Processor,在构建我们当前的项目时,编译需要相当长的总时间(目前大约25分钟,2/3 gwt编译)。我们研究了如何优化(例如) 然而,最终我们决定购买一台新的构建服务器。GWT编译是一项CPU密集型任务,因此我们进行了一些测试,以分析每个核心的改进: 1芯=197s 2芯=165s 3芯=149s 4个核心=157s(可能是最后一个核心忙于其他任务) 从这些数字来看,添加更多的内核似乎并不一定会提高性能,因为这些数字似乎趋于平缓 1.) 所以,如果你们中有人能证实/反驳这一点,我会感兴趣的?所以8核或1

在构建我们当前的项目时,编译需要相当长的总时间(目前大约25分钟,2/3 gwt编译)。我们研究了如何优化(例如) 然而,最终我们决定购买一台新的构建服务器。GWT编译是一项CPU密集型任务,因此我们进行了一些测试,以分析每个核心的改进:

  • 1芯=197s
  • 2芯=165s
  • 3芯=149s
  • 4个核心=157s(可能是最后一个核心忙于其他任务)
从这些数字来看,添加更多的内核似乎并不一定会提高性能,因为这些数字似乎趋于平缓

1.) 所以,如果你们中有人能证实/反驳这一点,我会感兴趣的?所以8核或12核不一定会有区别,但单个cpu速度(mhz)会有区别吗

(二) 在看到一些基准后,我们的销售人员倾向于购买*ntel xeon-有AMD的经验吗?(我更喜欢AMD,但目前似乎很难忽视基准)

3.)欢迎就内存、IO等提出任何其他建议


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

我们使用的是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类编译、测试等)不使用所有资源的情况下减少空闲时间


当我们比较硬件价格时,我们决定购买一台消费PC作为Jenkins buildfarm的奴隶。总体价格比服务器硬件便宜得多,在出现硬件故障时可以轻松更换新硬件。

您的测试是否包括调整?Wie使用的是默认使用所有可用内核的GWT 2.5(根据taskmanager判断,至少我认为是这样)然后使用本地工人完成测试…编译时将有大量磁盘IO。你应该考虑购买一个小型的两个SSD用于构建DRAID。另外,一次线程越多,内存和IO就越多。3个内核之后的速度减慢几乎可以肯定是由于其他工作进程占用了您的内存/io,并且必须等待其他内核先获取数据。@Lonzak:gwt maven插件默认使用
Runtime.getRuntime().availableProcessors()
作为
gwt.compiler.localWorkers
,但gwt本身默认为
1
;因此,这取决于如何启动GWT编译器。