【问题标题】:Java 8 Performance Issues In Windows Server 2019Windows Server 2019 中的 Java 8 性能问题
【发布时间】:2020-06-10 22:14:01
【问题描述】:

我最近将一些计划作业从 Windows Server 2012 虚拟服务器迁移到了新的 Windows Server 2019 虚拟服务器,并注意到某些作业的性能明显下降。特别是使用 AS400 JDBC 连接池数据源与我们的 DB2 数据库通信的作业。该数据库托管在 IBM iSeries AS/400 上。

在 Windows Server 2019 上,使用 jdk1.8.0_131,我正在运行以下命令:

java -jar myproject.jar

这个项目只是连接到 DB2 数据库并执行 SQL 更新命令。在其他服务器上,相同的命令大约需要 2.5 分钟,但在 Windows Server 2019 上,需要 15 分钟到一个多小时。我在作业运行时监控了服务器和数据库上的 CPU、RAM 和网络活动,但没有任何异常。以下是在各种操作系统和 JDK 上的测试结果:

|服务器 | JDK |运行时 | |-------------------------------------|------------ |-----------------------| |视窗服务器 2012 | 1.8.0_131 | ~2.5 分钟 | | Windows Server 2016(全新安装)| 1.8.0_131 | ~2.5 分钟 | | Windows Server 2019(生产)| 1.8.0_131 | 15分钟到一个小时| | Windows Server 2019(全新安装)| 1.8.0_131 | 15分钟到一个小时| | Windows Server 2019(全新安装)| 1.8.0_202 | 15分钟到一个小时|

如上所示,我尝试全新安装 server 2016 并没有遇到性能问题,但是当我尝试全新安装 Windows Server 2019 时,我能够重现性能下降。

这些都是具有相同数量的 CPU、RAM 并在同一主机上运行的虚拟服务器。

【问题讨论】:

  • 您的项目大概更新了多少行?
  • 可能与GC有关?
  • @Eugene 如果它是同一个 jdk,为什么它在哪个服务器上会有所不同?
  • 在使用 SSIS 包将 Windows Server 2008 R2 迁移到 Windows Sever 2019 时,我也遇到了同样的问题,在 Windows Server 2019 中的 Sybase 和 SQL Server 数据库之间加载数据要慢得多服务器配置:(
  • @Ling 出于好奇,您是在虚拟服务器上运行此代码吗?我怀疑根据 JDK 8 的 oracle 认证系统配置不支持管理程序可能是一个问题:oracle.com/java/technologies/javase/jdk-jre-8-cs-config.html

标签: java windows java-8 db2 windows-server-2019


【解决方案1】:

【讨论】:

  • OP 还测试了 Java 8 Update 202,它比该表中列出的 Java 8 Update 201 更新。
猜你喜欢
  • 2019-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-13
相关资源
最近更新 更多