跳过正文

Performance

全网最硬核 JDK 解析 - 7. JFR 事件采集原理与演进

全网最硬核 JDK 解析 - 7. JFR 事件采集原理与演进

·62525 字·125 分钟
全面解析 JFR(Java Flight Recorder)的配置体系、使用方式和事件采集机制。涵盖 JFR 配置体系(全局配置、记录级别配置、JFC 配置文件)、多种使用方式(JVM 参数、jcmd 命令、JDK API、JMX)、jfr 工具分析、事件类型分类与配置适用性,以及从 JDK 11 到 JDK 25 的核心变化和最佳实践。
为什么应该避免在生产环境中启用 HeapDumpOnOutOfMemoryError

为什么应该避免在生产环境中启用 HeapDumpOnOutOfMemoryError

·1536 字·4 分钟
全面指南,探讨为什么启用 HeapDumpOnOutOfMemoryError 会在生产环境中导致严重的性能问题,哪些 OutOfMemoryError 类型实际触发堆转储,以及使用 JFR 进行内存泄漏检测和自动服务重启策略等更好的替代方案。
最大化第三方 API 请求吞吐量:实用测试方法

最大化第三方 API 请求吞吐量:实用测试方法

·1408 字·3 分钟
学习如何使用 WebClient、TestContainers 和 toxicproxy 开发和测试高性能 API 客户端。本综合指南涵盖异步请求处理、隔离测试环境和真实故障模拟,用于构建健壮的微服务。
解决 JVM Safepoint 延迟:从 EFS 集成到异步日志的探索之旅

解决 JVM Safepoint 延迟:从 EFS 集成到异步日志的探索之旅

·2317 字·5 分钟
深入调查升级到 Java 17 并实施 AWS EFS 集中式日志收集后出现的神秘 JVM safepoint 延迟问题。我们发现日志输出期间的文件 I/O 阻塞如何冻结整个 JVM 进程,并通过异步日志和正确的 WebFlux 实现解决了这个问题。
Spring Data Redis 连接泄漏之谜:当你的微服务失控时

Spring Data Redis 连接泄漏之谜:当你的微服务失控时

·3499 字·7 分钟
生产事件调查,揭示 Spring Data Redis + Lettuce 在混合使用 SessionCallback 和 executeWithStickyConnection 操作时如何泄漏连接。深入探讨连接管理机制、JFR 分析技术和实用解决方案,防止你的 Redis 连接池成为黑洞。
网关雪崩危机:同步 Redis 调用如何几乎摧毁我们的系统

网关雪崩危机:同步 Redis 调用如何几乎摧毁我们的系统

·2602 字·6 分钟
深入探讨生产事件,其中我们的 Spring Cloud Gateway 由于阻塞的 Redis 操作而经历了级联故障。了解响应式环境中的同步 API 调用如何导致线程饥饿,导致健康检查失败和系统范围的雪崩,以及使用异步模式的完整解决方案。
通过 SQL 优化发现的隐藏生产问题

通过 SQL 优化发现的隐藏生产问题

·1800 字·4 分钟
当我们的运维团队带来一个执行时间极长的复杂 SQL 查询时,我们以为这只是一个性能问题。我们不知道,这次调查会发现一个深深隐藏的字符编码不匹配问题,它一直在我们的生产数据库中默默地导致全表扫描。
使用 JFR 排查 SSL 性能瓶颈

使用 JFR 排查 SSL 性能瓶颈

·868 字·2 分钟
深入分析微服务性能问题,包括 CPU 峰值和数据库连接异常。通过 JFR 分析,我们发现根本原因是 Java SecureRandom 在 /dev/random 上阻塞,并提供使用 /dev/urandom 的解决方案。
全网最硬核 JDK 分析 - 1. TLAB 全面解析

全网最硬核 JDK 分析 - 1. TLAB 全面解析

·21531 字·43 分钟
深入探讨 JVM 的线程本地分配缓冲区(TLAB)机制,涵盖设计原理、实现细节、性能优化和源代码分析。了解 TLAB 如何提高多线程环境中的内存分配效率,并掌握 TLAB 调优技术。
OpenJDK 11 JVM 日志:新统一配置完整指南

OpenJDK 11 JVM 日志:新统一配置完整指南

·2259 字·5 分钟
了解 OpenJDK 11 如何通过其统一配置系统彻底改变 JVM 日志记录。学习用于 GC 分析、类加载和运行时编译的基本日志标签,以及使用 jcmd 进行实时性能调优的动态日志配置。