对于最新稳定版本,请使用Spring Framework 7.0.1spring-doc.cadn.net.cn

监测

当你使用@EnableWebSocketMessageBroker<websocket:message-broker>钥匙 基础设施组件会自动收集统计数据和计数器,提供 对应用内部状态的重要洞察。配置 同时宣称为WebSocketMessageBrokerStats它汇聚了所有 可用信息集中在一个地方,默认记录在信息升级一次 每30分钟一次。这种豆子可以通过Spring's导出到JMXMBean出口商用于运行时查看(例如通过JDK的jconsole). 以下列表总结了现有信息:spring-doc.cadn.net.cn

客户端WebSocket会话
当前

表示有多少次客户端会话 目前,计数进一步细分为WebSocket与HTTP的区别 SockJS 会话的流媒体和投票。spring-doc.cadn.net.cn

表示已建立的总会话数。spring-doc.cadn.net.cn

异常关闭
连接故障

那些已经建立起来但 在60秒内未收到任何消息后关闭了。这是 通常是代理或网络问题的信号。spring-doc.cadn.net.cn

发送限制已超

会话在超过配置发送后关闭 超时或发送缓冲区限制,这些都可能出现在慢客户端时 (见上一节)spring-doc.cadn.net.cn

传输错误

会话在传输错误后关闭,例如 无法读取或写入WebSocket连接,或 HTTP 请求或响应。spring-doc.cadn.net.cn

STOMP 帧

CONNECT、CONNECTED 和 DISCONNECT 帧的总数 处理,表示在STOMP层连接了多少客户端。注意 当会话异常关闭或 客户端关闭时不会发送DISCONNECT帧。spring-doc.cadn.net.cn

STOMP 经纪人中继
TCP连接

表示代表客户端的TCP连接数量 WebSocket会话会被建立到代理机构。这应等于 客户端WebSocket会话数 + 1个额外的共享“系统”连接 用于在应用内部发送消息。spring-doc.cadn.net.cn

STOMP 帧

CONNECT、CONNECTED 和 DISCONNECT 帧的总数 转发给或代表客户从经纪人那里接收。注意 无论客户端WebSocket如何,DISCONNECT帧都会发送给代理 会议结束。因此,较低的DISCONNECT帧数是一个指标 经纪人主动关闭连接(可能是因为 心跳未及时到达、输入帧无效或其他问题)。spring-doc.cadn.net.cn

客户端入站信道

支持该项目的线程池统计数据clientInboundChannel这些信息为输入消息处理的健康状况提供了洞察。任务排队 这里显示应用可能太慢,无法处理消息。 如果存在I/O受限任务(例如,慢速数据库查询、向第三方请求HTTP请求) REST API 等),考虑增加线程池大小。spring-doc.cadn.net.cn

客户端出站通道

支持该项目的线程池统计数据clientOutboundChannel这为向客户广播消息的健康状况提供了洞察。任务 这里排队表明客户端速度太慢,无法处理消息。 解决这个问题的一种方法是增加线程池大小以容纳 预期并发慢客户端数量。另一种选择是减少 发送超时和发送缓冲区大小限制(见上一节)。spring-doc.cadn.net.cn

SockJS 任务调度器

来自SockJS任务调度器的线程池统计数据 用于发送心跳。注意,当心跳在 STOMP级别,SockJS的心跳被禁用了。spring-doc.cadn.net.cn