You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置SignalR的WebSocket并捕获控制台消息?采样器无响应排查

解决JMeter无法捕获SignalR的"Success"控制台消息问题
  • 确认SignalR连接的核心配置
    SignalR的WebSocket连接依赖特定路径(通常是Hub的端点路径,比如/chatHub)和协议头,检查WebSocket Open Connection采样器:

    • 路径必须严格匹配后端SignalR Hub的暴露端点
    • 添加上必要请求头,比如Origin(匹配前端访问域名)、X-Requested-With: XMLHttpRequest,有认证需求时还要补充Authorization头
  • 按SignalR通信流程调整采样器顺序
    SignalR有固定的握手交互流程,采样器必须按以下顺序执行:

    1. WebSocket Open Connection(建立基础连接)
    2. WebSocket Single Write Sampler:发送SignalR初始化帧,格式示例为{"protocol":"json","version":1}(需根据后端实际配置调整协议类型和版本)
    3. WebSocket Single Read/Continuous Read Sampler:监听服务器推送的消息
      跳过初始化步骤会导致服务器不推送任何消息,自然无法捕获到"Success"内容
  • 优化Read采样器配置

    • 确保Single Read采样器选择了正确的连接名称(和Open Connection采样器的命名一致)
    • 设置足够的超时时间(比如5000ms),避免因超时错过消息
    • 如果服务器会批量推送消息,改用WebSocket Continuous Read Sampler,持续监听直到捕获目标内容
  • 对比浏览器真实通信内容
    打开浏览器开发者工具→Network→筛选WebSocket,找到SignalR连接,查看浏览器发送的初始化帧、接收的"Success"消息格式,完全复刻到JMeter的Write/Read采样器中,确保JMeter的请求行为和浏览器一致

  • 排查JMeter日志
    查看JMeter安装目录下bin/jmeter.log文件,搜索WebSocket相关报错(比如连接失败、消息解析错误),日志会暴露配置中的细节问题

内容的提问来源于stack exchange,提问作者Ketki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 11:43:12