System requirements for the Diffusion server
Review this information before installing the Diffusion™ server.
The Diffusion server is certified on the system specifications listed here. In addition, the Diffusion server is supported on a further range of systems.
- Certification
- DiffusionData classes a system as certified if
the
Diffusion
server
is fully functionally tested on that
system.
We recommend that you use certified hardware, virtual machines, operating systems, and other software when setting up your Diffusion servers.
- Support
- In addition, DiffusionData supports other systems
that have not been certified.
Other hardware and virtualized systems are supported, but the performance of these systems can vary.
More recent versions of software and operating systems than those we certify are supported.
However, DiffusionData can agree to support Diffusion on other systems. For more information, contact DiffusionData.
Physical system
The Diffusion server is certified on the following physical system specification:
- Intel™ Xeon™ E-Series Processors
- 8 Gb RAM
- 8 CPUs
- 10 Gigabit NIC
Network, CPU , and RAM (in decreasing order of importance) are the components that have the biggest impact on performance. High performance file system and disk are required. Intel hardware is used because of its ubiquity in the marketplace and proven reliability.
Virtualized system
The Diffusion server is certified on the following virtualized system specification:
- Host
-
- Intel Xeon E-Series Processors
- 32 Gb RAM
- VMware vSphere® 5.5
- Virtual machine
-
- 8 VCPU s
- 8 Gb RAM
When running on a virtualized system, over-committing VCPU s (assigning too many VCPU s compared to the processors available on the host) can cause increased latency and unpredictable performance. Consult the VMWare Performance Best Practices documentation for details.
Emulated system
The Diffusion server is unsupported on emulations of supported hardware platforms.
Operating system
Red Hat® 7.2+
Windows™ Server 2012 R2 and 2016
We recommend you install your Diffusion server on a Linux™ -based operating system with enterprise-level support available, such as Red Hat Enterprise Linux .
Operating system configuration
If you install your Diffusion server on a Linux -based operating system and do SSL offloading of secure client connections at the Diffusion server , you must disable transparent huge pages.
If you install your Diffusion server on a Linux -based operating system but do not do SSL offloading of secure client connections at the Diffusion server , disabling transparent huge pages is still recommended.
Having transparent huge pages enabled on the system your Diffusion server runs on can cause extremely long pauses for garbage collection. For more information, see https://access.redhat.com/solutions/46111.
Java™
- The JVM has either passed the Java TCK or is an official AdoptOpenJDK build.
- The JVM version is Java 8 (8u131-b11 GA or later) or Java 11 (11.0.3 GA or later). We recommend that you use the latest available minor release of the JVM, regularly review and update the JVM as new minor releases become available, and prefer a distribution that provides regular updates.
- The JVM is HotSpot™ based.
- The target platform is Linux , macOS® , or Windows .
- Oracle JDK (https://www.oracle.com/technetwork/java/javase/downloads/index.html). Production use requires a commercial licence from Oracle.
- AdoptOpenJDK (https://adoptopenjdk.net/).
- Amazon Corretto (https://aws.amazon.com/corretto/).
- Azul Zulu (https://www.azul.com/downloads/zulu/).
- Red Hat OpenJDK (https://developers.redhat.com/products/openjdk/overview/).
We recommend against using Oracle OpenJDK (http://jdk.java.net/). Oracle OpenJDK is a reference implementation, and release updates are provided for a limited period, typically only six months.
- AdoptOpenJDK 8u212
- AdoptOpenJDK 11.0.3+7
- Oracle JDK 8u131
Reduced footprint JVM distributions
Some distributions have optional packages that are minimal versions of the JVM and omit certain components, either to reduce the size of the JVM (and so the required disk space and time to download), or as part of security hardening. Additionally, the end user may remove unnecessary components from a JDK. JDKs up to version 8 had a standard reduced footprint repackaging called the "Java Runtime Environment (JRE)", but this name has now been dropped to allow distributions or the end user to choose from a variety of different repackaging strategies.
- Tools that are only required by developers (e.g. the javac compiler; Java Mission Control; jconsole). This was the primary focus of the JRE.
- Graphical user interface libraries. Packages without these components are typically referred to as "headless".
Diffusion does not require developer tools nor graphical user interface libraries. Although DiffusionData Ltd supports the use of Diffusion with a reduced footprint JVM, we recommend that a full JDK installation is used. This is because Java's diagnostic tools, in particular Java Mission Control, have proven to be particularly useful as part of performance tuning and problem diagnosis.
JVM configuration
If you do SSL offloading of secure client connections at the Diffusion server , you must ensure that you constrain the maximum heap size and the maximum direct memory size so that together these to values do not use more than 80% of your system's RAM .
Networking
- 10 Gigabit network
- Load balancers with Secure Sockets Layer (SSL) offloading
- In virtualized environments, enable SR-IOV.
For more information about how to enable SR-IOV, see the documentation provided by your virtual server provider. SR-IOV might be packaged using a vendor-specific name.
Validation script
You can run an environment validation script to detect problems with the install environment.
The script uses the jjs command line tool which is included with Java 8 and above.
- In the directory where you installed Diffusion, navigate to /bin.
- Run the environmentValidation.js script:
- On Linux, run ./environmentValidation.js
- On Windows, make sure <java_home> is added to your path, then run: jjs environmentValidation.js
Note that macOS is not certified as a production system for Diffusion, so the validation script does not support macOS. You can still install and run Diffusion on macOS for development purposes.
Client requirements
For information about the supported client platforms, see Platform support for the Diffusion API libraries.