Taming performance issues into the wild: a practical guide to JVM profiling By Francesco Nigro, Mari
Вставка
- Опубліковано 28 сер 2024
- The session will start with a quick introduction to the theory of profiling discussing the motivations, explaining the different types of profiling and visualization format while listing the tools available for this purpose. This also includes some tooling for reliably emulating the load generation and validating the improvements.
Then we will guide the attendees through the profiling tools that we want to use throughout the session:
Java VisualVM: visualvm.githu...
Async-profiler: github.com/jvm...
JDK Mission Control: www.oracle.com...
JMH: github.com/ope...
Hyperfoil: hyperfoil.io/ (for load generation)
Then we will put these tools at work in a practical real-world scenario. We will provide a sample Quarkus-based Java webapp, using a simple but realistic technology stack, having different performance issues involving excessive memory allocation, CPU consumption, slow blocking I/O, locks contention and cache misses. We will demonstrate how to use the before mentioned profiling tools to discover, investigate, fix and verify these issues.
FRANCESCO NIGRO
I've been working for many years in the computer field. In the last 15 years I've cultivated a strong passion in Java development and the under the hood details of OpenJDK, recently joined by C and (x86) ASM.
Big fan of DDD (Domain Driven Design) world, I've developed several Event-Sourcing high performance solutions in the medical and IoT field.
I'm an active member of various online communities on performance (groups.google...., Principal (Software) Performance Engineer and Performance Lead for Red Hat on Quarkus, Red Hat Top Inventor (2019).
I've collaborated to different projects related high-performance computing both as committer and contributors eg Quarkus, Vert-x, Netty committer, JCTools author, PMC of ActiveMQ Apache Artemis (Messaging Broker), HdrHistogram, JGroups-raft, ...
MARIO FUSCO
Mario is a senior principal software engineer at Red Hat working as Drools project lead. Among his interests there are also functional programming and Domain Specific Languages. He is also a Java Champion, the JUG Milano coordinator, a frequent speaker and the co-author of "Modern Java in Action" published by Manning.
Great talk guys. Thanks for the work and efforts you made to make it and deliver it this way. Didn't get bored and learned a lot.
I enjoyed the workshop, thank you guys
Great session !!!
In slide # 17, it should say that d does twice the samples of c and not the other way round