如何提高 Java 构建服务器的性能?

如何提高 Java 构建服务器的性能?

我们正在为集成构建设置一个新的服务器。原始集成服务器可以在 Linux 机器上 3 分钟内完成“mvn install”。现在通过移动到 VM 上的 Windows 2012 服务器,时间缩短到 9 分钟。仅“mvn test”部分就需要 7 分钟。许多测试都遵循相同的模式:1. 启动新的 JVM 2. 将文件/excel 电子表格中的测试数据加载到内存数据库中 3. 针对该数据库运行查询,验证结果

您认为我们如何才能提高此虚拟机的性能?该服务器已拥有 16GB 内存、256GB 空间和 8 个 vCPU。

一般来说,作为构建服务器,大部分工作都是这样的:1. 从工作区读取数千个文件,2. 编译上述源代码,3. 生成数千个 .class 文件。4. 将这数千个文件打包/压缩。5. 将 jars 和 zip 文件复制到其他地方。

这些似乎更多地是在 CPU 和磁盘 I/O 上而不是在 RAM 上,对吗?

谢谢吉荣

答案1

通过提高磁盘子系统性能,我们的构建服务器性能得到了提升。我们现在在硬件 RAID 10 中运行 4 个快速 SSD。

要确认磁盘是您的性能瓶颈,请观察磁盘子系统 IO 与理论值的比较,并查看延迟,因为当延迟持续较高时,您就会遇到问题。

在 Windows 中,您可以使用 Perfmon 或 Windows 资源监视器。在 Linux 中,请使用 iostat。VMWare vshpere 客户端在磁盘子系统的性能选项卡上有图表。

答案2

你的问题的答案可以概括为任何情况:

  1. 开始收集指标(RAM、IO、CPU、网络等)
  2. 向系统施加负载
  3. 分析指标以识别瓶颈
  4. 缓解瓶颈
  5. 转到 1

相关内容