Java AOT in Production
summary
Netflix runs Leyden AOT to cut slow service startup about 15–20% by capturing a training run during canary capture and using that archive at scale. Recording and use require fully packaged jars, exact JVM/version/config and matching OS/CPU features — summarized as classpath must match. Implementation launches an orchestrator that records, zstd-compresses and uploads the archive to S3 (name = app+cluster+classpath hash), then parallel-downloads and verifies a signed digest on startup. Operational gotchas: graceful termination, dual-JVM memory oversubscribe, and large (~200 MB) raw caches; next step is using JDK 26 jcmd to end recording without killing the process.
AI-written summary · about
chapters (11)
- 0:00Autoscaling Java Services
- 5:17Project Leyden Primer
- 9:55Ahead-of-Time Cache Basics
- 12:59Netflix Deployment Pipelines
- 18:00How Netflix Integrates AOT Features
- 23:23Lessons Learned
- 27:00Using the AOT Archive
- 30:45Results
- 33:27What's Next?
- 36:23Takeaways
- 38:05Q&A
related talks
46mProject Leyden's AOT - Shifting Java Startup into High Gear
55mJIT and AOT in the JVM
53mUpgrade Your Java with AI: From Legacy Code to High-Performance Workloads
41mSupercharge your JVM performance with Project Leyden
45mProject Leyden: Improving Java’s Startup Time
51mSupercharge your JVM performance with Project Leyden
48mHow Netflix Uses Java
43mA Glance At The Java Performance Toolbox
