1 分钟阅读
Java 精通 02:性能剖析、容量规划与可观测性(指标 · 日志 · 链路)
专家必备:从基准测试误区到火焰图/JFR、线程与分配剖析;RED/USE 类指标、结构化日志、分布式追踪与 SLO;压测如何服务于容量决策。
- Java
- 性能
- 可观测性
- SLO
AI 共读让 Noob 帮你提炼要点 / 答疑
本篇目标:能制定 RED 指标;能解释 p99 抬升而均值不变;能列出基准测试误区;能设计结构化日志字段;能把压测结论映射到扩容/限流/缓存。
1. 知识点:Golden signals(RED + 扩展)#
| 信号 | 例子 |
|---|---|
| Rate | QPS |
| Errors | 5xx 比例 |
| Duration | p95/p99 延迟 |
Saturation:线程池队列长度、连接池等待时间、CPU runnable 队列。
2. 知识点:分位数比均值诚实#
p99 变差常由尾部锁等待、GC pause、偶发慢查询引起——均值仍「好看」。
3. 知识点:基准测试误区(JMH 心智)#
- 未预热 JIT
- 死代码消除
- 共享计数竞争
- 测试数据不符合生产分布
微基准结论默认「仅供参考」,上线以线上剖析为准。
4. 知识点:剖析路径#
- 外部依赖 RT / 错误率
- 线程栈锁竞争
- GC 日志 pause
- CPU 火焰图热点
5. 知识点:日志字段规范(示例)#
{"ts":"ISO-8601","level":"INFO","traceId":"...","spanId":"...","svc":"order","msg":"placed","orderId":"..."}规则:稳定字段名、禁止拼接 PII、采样降本。
6. 知识点:SLO 模板#
- SLI:成功请求延迟 < 300ms 的比例
- SLO:30 天内 SLI ≥ 99.9%
- 错误预算:1 - SLO,用于发布节奏
7. Lab#
写出你负责服务的 3 个 SLI、对应的采集方式(Micrometer/Prometheus 等)、报警阈值与「仅工单不电话」的降噪策略。
8. 自测清单#
- p99 上升排查顺序?
- 线程池队列持续增长意味着什么?
- 为何日志采样要与 trace 关联?
- 错误预算耗尽时团队该做什么?
相关阅读
基于内容相似度 + 标签/系列加权
- 1 分钟Java 从基础到精通(初级 · 高级 · 专家路线)
Java 进阶 02:JVM 运行时、GC 与调参入门(从现象到证据)
堆/栈/元空间、对象分配与 TLAB、常见 GC 算法对比、GC 日志与 jcmd/jstack 入门;Stop-The-World 与延迟取舍,避免迷信参数大全。
- Java
- JVM
- GC
- 1 分钟Java 从基础到精通(初级 · 高级 · 专家路线)
Java 精通 01:分布式一致性、事务模式与幂等——从理论到可交付方案
面向资深/专家:CAP 的实践读法、BASE、2PC/Saga/TCC 的取舍、Outbox 与消息语义;Java 业务里如何实现幂等与补偿的可观测闭环。
- Java
- 分布式
- 一致性
- 1 分钟Java 从基础到精通(初级 · 高级 · 专家路线)
Java 精通 03:架构演进、模块化单体与领域建模(专家级的边界与治理)
微服务不是默认答案:模块化单体、限界上下文、聚合与领域事件、API 版本化与契约测试;多团队协作下的架构治理与演进策略。
- Java
- 架构
- DDD
- 2 分钟Java 从基础到精通(初级 · 高级 · 专家路线)
Java 进阶 01:JUC、线程池、CompletableFuture 与异步组合实战
写给高级工程师:happens-before 直觉、Lock 与原子类、ExecutorService 参数含义、超时/取消/组合异步;常见踩坑与背压入门。
- Java
- 并发
- JUC