本文目录导读:

- 第一优先级:JVM 内存与 GC(垃圾回收)指标
- 第二优先级:线程与并发指标
- 第三优先级:线程池与连接池指标(中间件层面)
- 第四优先级:I/O 与 CPU 指标(资源层)
- 第五优先级:应用业务层面的“黑盒”指标(对用户体验最直接)
- 最重要的两个“元指标”逻辑:
- 总结:如果你只能盯3个仪表盘,建议是:
在Java开发中,“最值得重点关注”的指标取决于你当前所处的阶段(是代码评审、性能调优,还是线上稳定性排查)和业务场景(是Web服务、大数据处理还是微服务)。
如果一定要从投入产出比和对系统健康度的影响来排序,我认为以下 5个方向(共15个具体指标) 最值得重点关注:
第一优先级:JVM 内存与 GC(垃圾回收)指标
为什么最值得关注? 因为JVM内存泄漏和GC停顿是导致Java应用卡顿、CPU飙升、OOM(内存溢出)的第一大元凶。
- Heap 使用率(堆内存):
- 关注点:堆使用率是否呈周期性锯齿状(正常)还是持续爬升(内存泄漏信号)。
- 重点:当老年代(Old Gen)使用率持续高于70%-80%时,极易引发Full GC。
- GC 暂停时间(Pause Time):
- 关注点:单次GC停顿时长(特别是Full GC),对于响应式服务,单次STW(Stop-The-World)停顿超过100ms就该警惕。
- 重点:关注GC频率和耗时,而不是仅仅关注GC次数。
- GC 吞吐量(Throughput):
- 关注点:应用运行时间占(运行时间+GC时间)的百分比,低于95%说明GC开销过大。
- 关键进阶指标:Allocation Rate(分配速率) 和 Promotion Rate(晋升速率),这两个指标能帮你快速定位是“内存生得快”还是“死得慢”。
第二优先级:线程与并发指标
为什么最值得关注? Java是线程模型,线程阻塞或耗尽会导致整个服务假死,且极难排查。
- 线程池活跃度(Active Threads / Running Threads):
- 关注点:核心线程池是否被打满?活跃线程数是否长期接近最大线程数?
- 重点:如果活跃线程数达到上限,即使CPU空闲,请求也会开始排队,导致接口RT(响应时间)飙升。
- Blocking 线程数(阻塞线程数):
- 关注点:处于
WAITING或TIMED_WAITING状态的线程占比,如果大量线程阻塞,通常意味着锁竞争严重(如数据库连接池耗尽、Redis连接池耗尽)。
- 关注点:处于
- 线程创建速率(Thread Creation Rate):
- 关注点:单位时间内新建的线程数,过高通常意味着代码在无脑创建线程,或者线程池参数配置不合理。
第三优先级:线程池与连接池指标(中间件层面)
为什么最值得关注? Java应用95%以上的性能瓶颈在“池”(数据库连接池、HTTP线程池、MQ消费线程池)的耗尽。
- Tomcat / Jetty 活跃线程数:
- 关注点:Web容器的最大线程数剩余量(
maxThreads与activeCount),如果活跃线程数达到最大值且队列持续增长,说明应用吞吐量已达上限。
- 关注点:Web容器的最大线程数剩余量(
- 数据库连接池使用率(如 HikariCP 的
activeCount/maxPoolSize):- 关注点:连接获取等待时间(acquire-timeout),如果大量的请求卡在获取数据库连接上,这通常比SQL慢查询更致命——因为它会霸占Tomcat的线程。
- HTTP 客户端连接池(如 OkHttp / RestTemplate):
- 关注点:
poolSize和pendingRequests,微服务间的调用如果出现连接池ConnectionPoolTimeoutException,往往根因在下游服务。
- 关注点:
第四优先级:I/O 与 CPU 指标(资源层)
为什么最值得关注? 这些指标能帮你区分是“计算密集”还是“等待密集”,指导优化方向。
- CPU 使用率(User / Sys / I/O Wait):
- 重点关注:
iowait(等待I/O时间)。iowait很高,说明应用在等待磁盘(如日志写入、Redis持久化)或网络,改用异步写入通常能极大提升性能,同时关注Sys(系统调用)占比,过高可能意味着频繁的线程切换或锁竞争。
- 重点关注:
- 文件描述符(FD)打开数:
- 关注点:
/proc/{pid}/fd数量是否线性增长,FD泄漏是Java长驻进程常犯的错误(忘记关闭InputStream/Socket),最终会导致Can't open file异常。
- 关注点:
第五优先级:应用业务层面的“黑盒”指标(对用户体验最直接)
为什么最值得关注? 这是唯一能直接对应到用户体验的指标,也最能触发报警。
- P99 / P95 响应时间(RT):
- 重点关注:“平均响应时间(Avg)”是极度具有误导性的指标,因为长尾请求会拖垮平均值,关注 P99(99%的请求在多少毫秒内完成),P99 漂移严重,说明有慢SQL、锁竞争或垃圾回收抖动。
- 错误率与异常计数(Exception Rate):
- 关注点:HTTP 5xx 错误率、特定业务异常(如数据库死锁异常、NullPointerException)的每分钟发生次数。重点:对
OutOfMemoryError和StackOverflowError设置高风险告警。
- 关注点:HTTP 5xx 错误率、特定业务异常(如数据库死锁异常、NullPointerException)的每分钟发生次数。重点:对
最重要的两个“元指标”逻辑:
在关注单个指标时,建议把这几个指标串联起来看,不要孤立分析:
- 黄金组合:
P99 RT+GC暂停时间+活跃线程数,当RT飙升时,来看GC是否停顿,线程是否被阻塞。 - 最直接的“灭火”指标:
Full GC 频率和连接池 waiting_time,这两个指标一旦异常,速度极快,能让服务在几秒内不可用。
如果你只能盯3个仪表盘,建议是:
- JVM Dashboard:看
Heap和Full GC Time。 - 线程池 Dashboard:看
Tomcat Active Threads和DB Connection Pool Active。 - 业务延时 Dashboard:看
P99 RT和错误率。
这15个指标覆盖了Java应用从“内存—线程—外部资源—用户体验”的完整链路,关注它们,基本能解决90%以上的线上疑难杂症。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播