Помимо улучшения самого кода, убедитесь, что JVM, на котором работает сервер, является сервером vm, а не клиентом vm. Используйте параметр -server .
клиент vm :
Java HotSpot(TM) Client VM (build 14.1-b02, mixed mode, sharing)
сервер vm :
Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)
Чтобы узнать, что вы запускаете на производстве, вы можете программно сделать:
System.getProperty("java.vm.name");
, что должно дать вам что-то вроде: Java HotSpot (TM) 64-битный сервер VM
В противном случае (если вы не хотите прикасаться к коду), вы можете сделать поток дампа и посмотреть на что-то вроде вверху: Полный поток потока Java HotSpot (TM) Виртуальная машина сервера (16.0-b13 смешанный режим)