Minimum Requirements
- OpenJDK Java 17 or above
 - Apache Tomcat 10.1 or above (or a servlet container that supports servlet specification 3.1)
 - 64-bit operating system
 - High-performance file system
 
What We Use At Unidata
Unidata develops, tests, and runs/deploys the THREDDS Data Server using:
- Eclipse Temurin
 - Apache Tomcat servlet container
 - Linux OS
 - ZFS for Linux systems
 
A Note About Hardware
Throw more $$$ at this problem, hardware is cheap, compared to people.
It would be highly unusual for the TDS to not be I/O bound, so buying a high-performance disk subsystem is much better than buying fast CPUs. 
In specific terms, if a given system is frequently serving the same data over and over (because everyone wants the current data), more memory is better and cheaper than storage which is very expensive.
Caveat: It’s a challenge to make a default statement without understanding the specific use case, so please feel free to consult with Unidata if you have any questions.
Typically, disk access is much faster on a local drive than on an NFS mounted drive. High performance disk subsystems like RAID or SANs will significantly improve TDS throughput.