Skip to main content

Performance

JDK Tough Way - 7. JFR Event Collection Principles and Evolution

JDK Tough Way - 7. JFR Event Collection Principles and Evolution

·24771 words·117 mins
A comprehensive analysis of JFR (Java Flight Recorder) configuration system, usage methods, and event collection mechanisms. Covers JFR configuration system (global configuration, recording level configuration, JFC configuration files), multiple usage methods (JVM parameters, jcmd commands, JDK API, JMX), jfr tool analysis, event type classification and configuration applicability, as well as core changes and best practices from JDK 11 to JDK 25.
Why HeapDumpOnOutOfMemoryError Should Be Avoided in Production

Why HeapDumpOnOutOfMemoryError Should Be Avoided in Production

·702 words·4 mins
A comprehensive guide exploring why enabling HeapDumpOnOutOfMemoryError can cause significant performance issues in production environments, which OutOfMemoryError types actually trigger heap dumps, and better alternatives like JFR for memory leak detection and automatic service restart strategies.
JDK Tough Way - 4. The Most Detailed JVM Memory Structure Analysis

JDK Tough Way - 4. The Most Detailed JVM Memory Structure Analysis

·23344 words·110 mins
A comprehensive deep-dive into JVM memory architecture covering heap memory, metaspace, thread stacks, and compressed object pointers. This technical analysis examines memory allocation processes, Native Memory Tracking, and provides practical examples using tools like jol, jhsdb, and JFR for understanding JVM memory management internals.
Tackling a Mysterious JVM Safepoint Issue: A Journey from Problem to Solution

Tackling a Mysterious JVM Safepoint Issue: A Journey from Problem to Solution

·1004 words·5 mins
A deep dive into diagnosing and resolving a production JVM issue where applications would freeze during hourly log synchronization tasks. We explore safepoint analysis, JVM log output blocking, asynchronous logging implementation, and WebFlux optimization to achieve a complete solution.
Solving JVM Safepoint Delays: A Journey from EFS Integration to Async Logging

Solving JVM Safepoint Delays: A Journey from EFS Integration to Async Logging

·970 words·5 mins
An in-depth investigation into mysterious JVM safepoint delays after upgrading to Java 17 and implementing centralized log collection with AWS EFS. We discovered how file I/O blocking during log output can freeze entire JVM processes and solved it using async logging and proper WebFlux implementation.
MySQL Optimizer Statistics: Why Your Queries Choose the Wrong Index

MySQL Optimizer Statistics: Why Your Queries Choose the Wrong Index

·1600 words·8 mins
A deep dive into MySQL’s InnoDB optimizer statistics and how sampling inaccuracies can lead to poor index selection, causing dramatic performance differences between similar queries. Learn practical solutions to prevent slow SQL queries caused by optimizer misjudgments.
Configuring Spring Data Redis with Lettuce for Effective Pipeline Operations

Configuring Spring Data Redis with Lettuce for Effective Pipeline Operations

·1205 words·3 mins
A comprehensive guide on how to properly configure Spring Data Redis with Lettuce to enable pipeline functionality. Learn about connection sharing, AutoFlushCommands, and PipeliningFlushPolicy configurations to optimize your Redis batch operations and reduce network round-trip time.
Spring Data Redis Connection Leak Mystery: When Your Microservice Goes Rogue

Spring Data Redis Connection Leak Mystery: When Your Microservice Goes Rogue

·1820 words·9 mins
A production incident investigation revealing how Spring Data Redis + Lettuce can leak connections when mixing SessionCallback and executeWithStickyConnection operations. Deep dive into connection management mechanisms, JFR analysis techniques, and practical solutions to prevent your Redis connection pool from becoming a black hole.
Gateway Avalanche Crisis: How Synchronous Redis Calls Nearly Brought Down Our System

Gateway Avalanche Crisis: How Synchronous Redis Calls Nearly Brought Down Our System

·1662 words·8 mins
A deep dive into a production incident where our Spring Cloud Gateway experienced cascading failures due to blocking Redis operations. Learn how synchronous API calls in reactive environments can cause thread starvation, leading to health check failures and system-wide avalanches, plus the complete solution using async patterns.
A Hidden Production Issue Discovered Through SQL Optimization

A Hidden Production Issue Discovered Through SQL Optimization

·1101 words·6 mins
When our operations team brought us a complex SQL query that was taking forever to execute, we thought it was just a performance issue. Little did we know, this investigation would uncover a deeply hidden character encoding mismatch that had been silently causing full table scans in our production database.
Troubleshooting a SSL Performance Bottleneck Using JFR

Troubleshooting a SSL Performance Bottleneck Using JFR

·395 words·2 mins
In-depth analysis of a microservice performance issue with CPU spikes and database connection anomalies. Through JFR profiling, we discovered the root cause was Java SecureRandom blocking on /dev/random and provide solutions using /dev/urandom.
JDK Tough Way - 1. A Comprehensive Guide to Thread Local Allocation Buffers

JDK Tough Way - 1. A Comprehensive Guide to Thread Local Allocation Buffers

·9380 words·45 mins
A deep dive into JVM’s Thread Local Allocation Buffer (TLAB) mechanism, covering design principles, implementation details, performance optimization, and source code analysis. Learn how TLAB improves memory allocation efficiency in multi-threaded environments and master TLAB tuning techniques.