From 3bd28849dcf3145f953262927697061a90d572e9 Mon Sep 17 00:00:00 2001 From: Ismael Juma Date: Sat, 25 Jul 2020 16:20:43 -0700 Subject: [PATCH] MINOR: Recommend Java 11 Java 11 has been recommended for a while, but the ops section had not been updated. Also tweak the text a bit to read better. --- docs/ops.html | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/ops.html b/docs/ops.html index 765c198e614d2..931d2b286fb9d 100644 --- a/docs/ops.html +++ b/docs/ops.html @@ -680,16 +680,20 @@

A Production Server Config

6.4 Java Version

- From a security perspective, we recommend you use the latest released version of JDK 1.8 as older freely available versions have disclosed security vulnerabilities. + Java 8 and Java 11 are supported. Java 11 performs significantly better if TLS is enabled, so it is highly recommended (it also includes a number of other + performance improvements: G1GC, CRC32C, Compact Strings, Thread-Local Handshakes and more). + + From a security perspective, we recommend the latest released patch version as older freely available versions have disclosed security vulnerabilities. - At the time this is written, LinkedIn is running JDK 1.8 u5 (looking to upgrade to a newer version) with the G1 collector. LinkedIn's tuning looks like this: + Typical arguments for running Kafka with OpenJDK-based Java implementations (including Oracle JDK) are: +
   -Xmx6g -Xms6g -XX:MetaspaceSize=96m -XX:+UseG1GC
   -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M
-  -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80
+  -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80 -XX:+ExplicitGCInvokesConcurrent
   
- For reference, here are the stats on one of LinkedIn's busiest clusters (at peak): + For reference, here are the stats for one of LinkedIn's busiest clusters (at peak) that uses said Java arguments: - The tuning looks fairly aggressive, but all of the brokers in that cluster have a 90% GC pause time of about 21ms, and they're doing less than 1 young GC per second. + All of the brokers in that cluster have a 90% GC pause time of about 21ms with less than 1 young GC per second.

6.5 Hardware and OS

We are using dual quad-core Intel Xeon machines with 24GB of memory.