Windows Server 2019中的Java 8性能问题

Windows Server 2019中的Java 8性能问题,java,windows,java-8,db2,windows-server-2019,Java,Windows,Java 8,Db2,Windows Server 2019,我最近将一些计划作业从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更新命令。在其他服务器上,

我最近将一些计划作业从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上的测试结果:

| Server | JDK | Runtime | |-------------------------------------|-----------|-----------------------| | Windows Server 2012 | 1.8.0_131 | ~2.5 minutes | | Windows Server 2016 (Fresh Install) | 1.8.0_131 | ~2.5 minutes | | Windows Server 2019 (Production) | 1.8.0_131 | 15 minutes to an hour | | Windows Server 2019 (Fresh Install) | 1.8.0_131 | 15 minutes to an hour | | Windows Server 2019 (Fresh Install) | 1.8.0_202 | 15 minutes to an hour | |服务器| JDK |运行时| |-------------------------------------|-----------|-----------------------| |Windows Server 2012 | 1.8.0 | 131 | ~2.5分钟| |Windows Server 2016(全新安装)| 1.8.0| 131 | ~2.5分钟| |Windows Server 2019(生产版)| 1.8.0| 15分钟到1小时| |Windows Server 2019(全新安装)| 1.8.0| 15分钟到1小时| |Windows Server 2019(全新安装)| 1.8.0| 202 | 15分钟到一小时| 如上所示,我尝试了新安装的server 2016,但没有遇到性能问题,但当我尝试新安装的Windows server 2019时,我能够复制性能下降的情况


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

仅适用于1.8.0_201之后的Java support Server 2019


您的项目正在更新大约多少行?可能与GC相关?@Eugene如果是同一个jdk,为什么它会影响它所在的服务器?我在使用SSIS包将Windows server 2008 R2迁移到Windows server 2019时也遇到了同样的问题,在Windows Server 2019中,使用相同的服务器配置在Sybase和SQL Server数据库之间加载数据要慢得多:(@Ling出于好奇,您是在虚拟服务器上运行此代码吗?我怀疑这可能是因为根据oracle认证的JDK 8系统配置,虚拟机监控程序不受支持的问题:OP还测试了Java 8 Update 202,它比该表中列出的Java 8 Update 201更新。