Windows Server 2019 中的 Java 8 性能问题

Posted

技术标签:

【中文标题】Windows Server 2019 中的 Java 8 性能问题【英文标题】:Java 8 Performance Issues In Windows Server 2019 【发布时间】: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 【参考方案1】:

Java 仅在 1.8.0_201 之后支持 Server 2019。

https://www.oracle.com/java/technologies/javase/products-doc-jdk8-jre8-certconfig.html

【讨论】:

OP 还测试了 Java 8 Update 202,它比该表中列出的 Java 8 Update 201 更新。

以上是关于Windows Server 2019 中的 Java 8 性能问题的主要内容,如果未能解决你的问题,请参考以下文章

Windows Server 2019 -- 新功能预览

SQL Server查询到“ ftatten”数据以进行报告

在Windows Server 2019中配置多元密码策略

在 Docker 容器中的 Server Core 2019 上安装 SQL Server LocalDB

Windows server 2019搭建FTP服务

windows server2019有几个版本啊