We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
JVM Performance Engineering • Monica Beckwith & Kirk Pepperdine • GOTO 2024
Learn JVM performance engineering best practices, from system-level analysis to hardware optimization. Explore benchmarking, observability & modern challenges in cloud environments.
-
Performance engineering requires understanding the “what”, “why” and “how” - focusing on both the high-level system behavior and low-level implementation details
-
Experimental design and benchmarking are core activities, but most benchmarks are flawed due to complexity of variables and difficulty in reproducing real-world scenarios
-
Top-down and bottom-up methodologies are complementary approaches - top-down starts with system-level analysis while bottom-up focuses on specific optimization areas
-
Hardware knowledge is critical for performance engineering, as JVM performance is heavily influenced by CPU architecture, memory systems, and hardware capabilities
-
Observability is essential for performance engineering, providing insights into system behavior and enabling data-driven decisions
-
Non-functional requirements (“ilities”) like scalability, reliability, availability and maintainability are key aspects of performance engineering
-
Performance engineering should be integrated early in the development lifecycle, not just during deployment
-
Modern challenges include cloud native environments, microservices, containers which add complexity to performance optimization
-
Collaboration across disciplines (hardware, software, operations) is necessary as systems become more complex
-
The JVM continues evolving to handle new hardware capabilities, concurrency models, and deployment scenarios requiring ongoing performance optimization work