~/talk

Calibrate Garbage Collection on the Ground and Run Your Java App

Talkat J-Fall 2023 · on Thursday, 2023-11-09· [java]
slides:none on file

Two small Java 21 apps (a CPU‑bound big‑factorial and an IO‑bound continuous‑file editor) run in Docker on Kubernetes, load‑tested with k6 and instrumented via Prometheus + Micrometer; default G1 is reasonable but tuning -Xmx/-Xms and -XX:MaxGCPauseMillis matters. Parallel GC gives best throughput and lowest latency for the CPU workload (≈7,700 requests per 2‑min run), ZGC (generational ZGC) yields higher throughput and better long‑run latency for the IO workload under stress (100 users) at the cost of larger heap use, and flags like GC time ratio and large pages change tradeoffs.

AI-written summary · about

  1. 0:00Introduction to talk
  2. 1:23Why garbage collector matters
  3. 6:45Garbage collection performance
  4. 9:42Test setup overview
  5. 17:02Default JVM ergonomics
  6. 21:01Serial garbage collector
  7. 23:30G1 GC default results
  8. 26:01Tuning G1 GC for latency
  9. 29:53Parallel garbage collector
  10. 34:31Generational ZGC introduction
  11. 39:10Stress testing results
  12. 41:17Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.