Java Version
Sophora 6 supports Java 21. We recommend using the latest version of OpenJDK 21. Our latest Docker images are based on docker.io/azul/zulu-openjdk-alpine for Java 21.
PostgreSQL Version
Sophora 6 requires at least PostgreSQL 17.6. We recommend to use the latest PostgreSQL version.
Recommended Java VM Arguments in Container Environments (Java 21)
-XX:InitialRAMPercentage=50.0
-XX:MaxRAMPercentage=80.0
-XX:+UseG1GC
-XX:+ExitOnOutOfMemoryError
-XX:+AlwaysPreTouch
-XX:+PerfDisableSharedMem
-XX:+ParallelRefProcEnabled
-XX:G1HeapRegionSize=8m
-XX:MaxGCPauseMillis=250
-XX:InitiatingHeapOccupancyPercent=75
The optimal Java Garbage Collection parameters depend heavily on your specific environment:
- CPU resources
- Memory resources
- Java version
- Use case (e.g., number of concurrent users and reads/writes)
Kubernetes
For Kubernetes deployments, we highly recommend the Sophora Server Helm Chart. It simplifies setup by bundling all best-practice configurations and adds additional features like automatic cluster switching.