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

JMeter压测WebSocket API时仅读取首条数据的解决办法咨询

解决JMeter WebSocket压测仅读取第一条文件数据的问题

排查文件读取配置

  • 若使用CSV Data Set Config加载文件:
    • 确认Recycle on EOF设为True,让文件读完后循环读取;若需读完即停,设为False但要保证循环次数与文件行数匹配。
    • 检查Delimiter(分隔符)是否与文件内数据的分隔规则一致,避免多条数据被识别为单条。
    • 根据需求选择是否勾选Stop thread on EOF,无需读完停线程则保持不勾选。
  • 若使用__FileToString函数读取文件:
    • 默认函数仅读取一次内容,需每次迭代重新读取的话,添加cache=false参数,示例:${__FileToString(data.txt,,cache=false)},确保每次请求都获取最新文件内容。

检查WebSocket采样器配置

  • 针对WebSocket Single Read Sampler:
    • 确认Read Mode与数据格式匹配(Text或Binary),且Read Until设置合理。若需读取多条消息,可设为Close Connection或自定义结束符,避免读到第一条就停止。
    • 若换用WebSocket Request-Response Sampler,确保每个请求都配置了正确的读取逻辑,不会在单次请求中仅读取一次响应。
  • 检查连接复用:长连接模式下,要保证每次发送数据后都触发读取操作,而非仅在首次连接时读取。

验证线程组与迭代逻辑

  • 线程组的Loop Count需设置为所需迭代次数,确保能遍历文件中所有数据行。
  • 多线程场景下,CSV Data Set Config的Sharing Mode设为All threads或Current thread group,保证每个线程能正确获取不同数据行。

检查数据发送与接收一致性

  • 启用View Results Tree监听器,查看每个请求发送的数据是否正确,确认不是仅发送了第一条数据。
  • 查看WebSocket服务器端日志,确认服务器是否收到所有发送的数据,排除服务器未返回后续响应的问题。

其他注意事项

  • 若文件是单条1KB数据但需重复发送,确保循环次数设置正确,且变量在每次迭代中重新赋值。
  • 升级JMeter至最新稳定版本,规避旧版本WebSocket采样器的已知bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 07:17:07