Hardware requirements
The requirements can vary to a large extent depending on the number of users, connections in Kadeck and usage (e.g., how many users use it in parallel).
Minimum
- Single Core CPU
- 4GB Memory
- 2 GB disk space
Recommended
- 2+ Core CPU
- 8+ GB Memory
- 3 GB disk space
Operating systems
The following operating systems are supported:
- Microsoft Windows (Server) with support for Java 11+
- Linux distribution with support for Java 11+
- Mac OS with support for Java 11+
At this point in time, Apple Silicon is not fully supported, specifically the Quick Processor does not run.
Web Browser
A browser with a fast JavaScript engine is recommended to process the data streams to the UI. We therefore recommend using Chrome or Chromium-based browsers.
JVM Memory
The number of server connections and their topics has influence on the amount of memory required by the server. Also, the more people work with the data browser simultaneously the more memory is required to process that data.
To pass in any configuration to the JVM use the KA_DECK_OPTS environmental variable. To add the environment variable when running Kadeck as a Docker container:
- -e KA_DECK_OPTS="-Xms8g -Xmx12g"
Threads
At the moment, the JVM requires a (user) thread per user that is consuming data in addition to about 40 (user) threads to manage the server.
If the ratio between running threads and available cores is too high (too many running threads for too few CPU (or virtual CPU) cores available), there could be very visible performance degradation.
To resolve this issue, Kadeck can be horizontally (via a load balancer with sticky sessions) or vertically scaled up.