-
Paper
The most widely used, high performance Minecraft server that aims to fix gameplay and mechanics inconsistencies
-
docker-minecraft-server
Docker image that provides a Minecraft Server that will automatically download selected version at startup
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Minecraft should not need that many resources. I have no idea what's going on in your setup but I would start with giving PaperMC a try. It's a custom server jar that includes a bunch of optimization stuff and plugin support. I would also maybe try using a different version of Java. In my experience I've mostly stuck to openjdk-8 because Minecraft used to have issues with newer versions but that might have changed.
Gonna throw some stuff I know in here, since I haven't seen it mentioned after a quick skim of the comments. I learned about a bunch of Minecraft server projects I'd never heard of when reading the documentation (which takes some parsing, but is thorough) for itzg's docker container for servers which I highly recommend: it makes server management very straightforward, for almost any possible type of Minecraft server you can think of running (and there's a companion one for Bedrock edition). There are a bunch of projects [claiming to be] optimized for high player counts (usually with little to no obvious documentation and a few versions behind vanilla). The README has details and links for those.