Java 8 проблем с производительностью в Windows Server 2019 - PullRequest
2 голосов
/ 27 февраля 2020

Недавно я перенес некоторые запланированные задания с виртуального сервера Windows Server 2012 на новый виртуальный сервер Windows Server 2019 и заметил заметное снижение производительности в некоторых заданиях. В частности, задания, которые взаимодействуют с нашей базой данных DB2 с использованием источника данных пула соединений AS400 JDB C. База данных размещена на IBM iSeries AS / 400.

На Windows Сервер 2019, используя jdk1.8.0_131, я выполняю следующую команду:

java -jar myproject.jar

Этот проект просто подключается к базе данных DB2 и выполняет команду обновления SQL. На других серверах эта же команда займет ~ 2,5 минуты, а на Windows Server 2019 - от 15 минут до часа. Я контролировал ЦП, ОЗУ и сетевую активность на сервере и в базе данных во время выполнения задания, и ничего не выделялось. Ниже приведены результаты тестирования на различных операционных системах и 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 |

. Как показано выше, я попытался установить fre sh server 2016 и не испытывал проблем с производительностью, но когда я пытался при частичной sh установке Windows Server 2019 я смог воспроизвести снижение производительности.

Это все виртуальные серверы с одинаковым количеством ЦП, ОЗУ и работающие на одном хосте.

...