~/talk

The Dark Arts of Performance Tuning

Talkat JavaDay Ukraine 2017 · 2017-11-04..11-05· [web-performance]
slides:none on file

A demo-driven walkthrough uses free JVM tools (jps, jinfo, jstack, JVisualVM with plugins, NetBeans profiler, Eclipse Memory Analyzer, GC logs) to find a dominating consumer: a synchronized cache that serializes threads. The unoptimized run takes ~2,900 ms with ~3,960,000 short-lived String allocations; switching to ConcurrentHashMap and a lightweight PersonKey drops allocations to ~25,000 and cuts CPU/sys lock contention, moving toward the 700 ms target.

AI-written summary · about

  1. 0:00Introduction and setup
  2. 13:15Performance tuning fundamentals
  3. 15:51Identifying CPU bottlenecks
  4. 20:09Analyzing thread dumps
  5. 23:09Fixing synchronization issues
  6. 27:53Enabling GC logging
  7. 29:02Profiling memory allocations
  8. 38:56Optimizing string allocations
  9. 41:03Heap dump analysis basics
  10. 44:56WeakHashMap memory leaks
  11. 47:30APM tools for production
  12. 51:13Q&A on performance tuning
~/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.