网站搭建服务平台,网站备案 关闭网站,怎么运营网站,工艺品东莞网站建设http.server.requests
HTTP 接口性能瓶颈 http.server.requests.max system.cpu.usage 代码热点分析或横向扩容
核心接口性能指标#xff0c;包含以下维度#xff1a;
count#xff1a;请求总数
max/sum#xff1a;最大及总响应时间
status#xff1a;HTTP 状态码分布 system.cpu.usage 代码热点分析或横向扩容
核心接口性能指标包含以下维度
count请求总数
max/sum最大及总响应时间
statusHTTP 状态码分布如 5xx 错误率
应用场景识别高延迟接口或异常请求激增。/metrics/http.server.requests?taguri:xxx
指定URL分析jvm.buffer.count
当前缓冲区数量Direct/Mapped监控堆外内存使用。
作用统计 JVM 缓冲区如 Direct Buffer 和 Mapped Buffer的数量。
应用场景监控堆外内存使用情况排查 NIO 操作中的缓冲区泄漏问题。
Direct 网络传输、大文件读写 减少堆内外数据拷贝提升 I/O 性能 堆外内存泄漏需监控 jvm.buffer.memory.used 是否持续增长
Mapped 数据库文件操作、日志持久化 文件直接映射内存避免磁盘频繁读写 未关闭 FileChannel 导致虚拟内存耗尽或文件锁冲突
**direct 缓冲区泄漏**若 direct 类型数量持续增加且不释放可能引发 OutOfMemoryError: Direct buffer memory。
**mapped 缓冲区未关闭**可能导致系统虚拟内存占用过高甚至影响其他进程。
**jvm.buffer.memory.used**缓冲区占用的内存大小需区分 direct 和 mapped。
**process.resident_memory**进程总内存使用量辅助判断堆外内存泄漏。jvm.buffer.memory.used
缓冲区内存占用
作用记录当前缓冲区实际占用的内存大小单位字节。
示例若该值持续增长可能因未正确释放 DirectByteBuffer 导致内存溢出。jvm.buffer.total.capacity
作用显示所有缓冲区的总容量上限。
关联分析与 jvm.buffer.memory.used 对比判断缓冲区利用率是否合理。
缓冲区总容量结合 jvm.buffer.memory.used 分析利用率。jvm.classes.loaded
作用统计 JVM 已加载的类数量反映应用运行时的类加载动态。
典型问题类加载数异常增长可能由重复加载或类加载器泄漏引起。
类加载异常 jvm.classes.loaded/unloaded 结合 JVM 分析工具如 JProfiler
已加载/卸载的类数量异常值可能暗示类加载器泄漏或动态代理滥用。jvm.classes.unloaded
作用记录 JVM 生命周期内已卸载的类总数。
意义正常情况下卸载数较低频繁卸载可能影响性能如热部署场景。
已加载/卸载的类数量异常值可能暗示类加载器泄漏或动态代理滥用。jvm.gc.live.data.size
老年代存活数据大小反映内存碎片情况jvm.gc.max.data.size
功能垃圾回收管理的最大内存区域容量例如老年代最大空间。
分析若 jvm.memory.used 持续接近此值可能触发频繁 Full GC需优化对象生命周期或扩容堆内存。
场景结合 jvm.gc.pause 判断是否因内存不足导致 GC 效率下降。jvm.gc.memory.allocated
GC 期间分配的内存总量
Young GC 时年轻代分配的内存空间反映对象创建速率。jvm.gc.memory.promoted
Young GC 后晋升到老年代的内存大小用于分析对象生命周期合理性。
显示 Young GC 后晋升到老年代的内存大小用于分析对象生命周期jvm.gc.pause
内存泄漏 jvm.memory.used jvm.gc.pause 分析堆内存增长与 Full GC 频率
GC 耗时jvm.gc.pause及堆内存分配情况
GC 暂停时间用于分析垃圾回收效率
GC 暂停时间衡量垃圾回收效率如频繁 Full GC 可能引发性能问题。
**Allocation Failure**内存分配失败常见于年轻代空间不足时触发Minor GC。
**end of minor GC**年轻代GCMinor GC结束。
**end of major GC**老年代GCMajor/Full GC结束。jvm.memory.committed
已提交内存量JVM 向操作系统申请的物理内存反映实际资源占用。jvm.memory.max
查看 JVM 最大内存
JVM 最大可用内存
JVM 可分配的最大内存对比 used 可计算内存利用率。jvm.memory.used
当前 JVM 内存使用量堆/非堆
内存泄漏 jvm.memory.used jvm.gc.pause 分析堆内存增长与 Full GC 频率
当前 JVM 内存使用量堆/非堆用于实时监控内存泄漏或溢出风险。
示例若堆内存持续增长且无下降趋势可能存在内存泄漏。jvm.threads.daemon
功能当前 JVM 守护线程数量如垃圾回收线程。
分析若守护线程数异常增加如远高于默认值可能因线程池配置错误或框架内部泄漏。
场景对比 jvm.threads.live 分析线程总数是否合理。jvm.threads.live
当前活跃线程数排查线程泄漏
结合 jvm.threads.live 和 tomcat.threads.busy 诊断线程阻塞问题
高并发性能瓶颈 jvm.threads.live、system.cpu.usage 检测线程阻塞或 CPU 过载
当前活跃线程数突增可能因线程泄漏或任务阻塞。
高并发线程阻塞 jvm.threads.live jvm.threads.states 优化锁机制或线程池配置jvm.threads.peak
历史峰值线程数jvm.threads.states
按状态BLOCKED、WAITING 等分类的线程数量
作用按线程状态如 BLOCKED、WAITING、RUNNABLE分类统计线程数量。
排查场景
BLOCKED 线程过多可能由锁竞争或同步瓶颈导致。
WAITING 线程堆积常见于任务队列处理能力不足。
按状态BLOCKED/WAITING/RUNNABLE统计线程数排查锁竞争或任务队列积压。
高并发线程阻塞 jvm.threads.live jvm.threads.states 优化锁机制或线程池配置logback.events
记录 Logback 日志事件数量如 INFO/WARN/ERROR 级别日志统计
作用统计 Logback 日志框架输出的不同级别日志事件数量如 INFO、WARN、ERROR。
配置需依赖 micrometer-core 和 Logback 集成自动记录日志频率。
示例监控 ERROR 级别日志的突发增长触发告警机制。
日志级别统计INFO/WARN/ERROR监控日志风暴或异常频率。process.cpu.usage
当前进程 CPU 占用
当前进程 CPU 占用结合线程指标分析热点代码。process.files.max
功能操作系统允许进程打开的最大文件句柄数。
分析若 process.files.open 接近此值可能导致 Too many open files 错误需调整系统限制ulimit或检查文件泄漏。process.files.open
功能当前进程已打开的文件句柄数包括 Socket、日志文件等。
分析持续增长可能因未正确关闭资源如数据库连接、流未释放。
process.files.open process.files.max process.files.open / process.files.max 0.8process.start.time
进程启动时间戳
作用记录应用进程启动的时间戳Unix 时间戳格式。
用途用于计算应用运行时长或与其他时间序列数据关联分析。
启动时间戳用于计算运行周期。process.uptime
应用运行时长秒
作用显示应用已运行的时长单位秒。
示例结合告警系统监控长时间运行的进程是否存在内存泄漏。
应用持续运行时间长期运行需关注内存泄漏。system.cpu.count
CPU 核心数用于资源扩容决策。
CPU 核心数用于资源规划
system.cpu.usage
系统整体 CPU 使用率
高并发性能瓶颈 jvm.threads.live、system.cpu.usage 检测线程阻塞或 CPU 过载
系统整体 CPU 使用率超 80% 需警惕资源瓶颈。
HTTP 接口性能瓶颈 http.server.requests.max system.cpu.usage 代码热点分析或横向扩容system.load.average.1m
功能系统过去 1 分钟的平均负载单位核心数占比。
分析
负载值 CPU 核心数表示系统过载。
若负载高但 system.cpu.usage 低可能因 I/O 阻塞或锁竞争。
场景结合 jvm.threads.states 判断是否因线程阻塞导致负载堆积。
system.load.average.1m system.cpu.usage system.load.average.1m (system.cpu.count * 2)tomcat.sessions.active.current
活跃会话数
当前活跃会话数
当前活跃会话数评估用户并发量。tomcat.sessions.active.max
功能历史活跃会话数的峰值。
分析对比当前活跃会话数tomcat.sessions.active.current评估系统承载能力是否需扩容。tomcat.sessions.alive.max
作用统计会话存活时间的最大值反映用户会话的活跃程度。
优化建议若该值过高需检查会话超时配置是否合理。tomcat.sessions.created
功能自应用启动以来创建的会话总数。
分析
高频会话创建如每秒数百次可能因无 Session 复用如未设置 Cookie或遭受攻击。
结合 tomcat.sessions.expired 优化会话超时时间。tomcat.sessions.expired
过期会话数用于会话超时配置优化
过期会话数优化会话超时配置。tomcat.sessions.rejected
因超出最大限制被拒绝的会话数
Tomcat 会话管理 tomcat.sessions.rejected 调整 server.tomcat.max-sessions 配置
作用记录因超出 Tomcat 最大会话数限制而被拒绝创建的会话数量。
调优方向调整 server.tomcat.max-sessions 参数或优化会话管理策略。
Tomcat 会话过载 tomcat.sessions.rejected 调整 max-sessions 参数
因超出最大会话数被拒绝的请求数需调整 server.tomcat.max-sessions。