Secrets of Performance Tuning Java on Kubernetes
summary
JVM defaults pick Serial GC at ~1.7GB threshold so one-CPU, 1GB containers often run the wrong collector and show bad P95/P99 latency; app CDS and app CDS/Project Leyden cuts startup ~1.2s→0.4s (CRaC is even faster but needs framework hooks). Use max‑ram‑percentage (recommended ~75%) or an agent like Jazz launcher sets heap to ~75% to avoid wasted memory — one customer had ~20% of pods misconfigured. Avoid many tiny pods: redistribute to fewer larger pods improves throughput and eliminates CPU throttling and CFS-induced latency.
AI-written summary · about
chapters (5)
- 0:00Introduction and speaker intro
- 3:45Sizing and startup strategies
- 17:29JVM defaults and ergonomics
- 34:26Kubernetes scaling and performance
- 46:10Summary and Q&A
related talks
40mJava Performance on Kubernetes
53mCalibrate Garbage Collection on the Ground and Run Your Java App
01h 32mBuilding and Tuning High Performance Java Platforms
01h 32mTuning Large Scale Java Platforms
52mGC Tuning & Troubleshooting Crash Course
47mLegal JVM Doping in Your Containers
51mWhy You Need Performance Tests for Proper Kubernetes Scaling
53mCalibrate Garbage Collection on the Ground and Run Your Java App
