先讲核心概念(JMeter TCP 取样器)
行尾(EOL)字节值 = 报文结束标记字节 作用:JMeter 持续从 Socket 流读取服务器返回数据,读到这个字节,就判定一条响应报文接收完毕,停止读取、统计响应时间。
清晰说明:行尾(EOL)字节值 = 62(十进制)
1、代表含义
十进制 62 对应 ASCII 字符:>(大于号)
TCP 取样器工作规则: JMeter 持续读取 Socket 返回流,一旦读到字节 62(>),就判定当前一条 TCP 响应报文接收完毕,停止读取、结束本次请求,统计响应时间。
TCP 取样器工作规则: JMeter 持续读取 Socket 返回流,一旦读到字节 62(>),就判定当前一条 TCP 响应报文接收完毕,停止读取、结束本次请求,统计响应时间。
也就是说:你们服务端 TCP 协议约定,每一条返回报文的末尾固定带字符
>,作为包结束标记。
2、重要注意事项(压测高频坑,对应你遇到的连接重置问题)
- ✅ 62 在有效范围
-128 ~ 127,TCPClientImpl(默认文本模式)和 BinaryTCPClientImpl 都支持 - ⚠️ 必须填写纯数字
62,不能写 >、0x3E、3E,GUI 只识别十进制数字! 补充:62 十六进制 = 0x3E - 故障风险点:
- 如果抓包发现服务端返回报文结尾没有
>:JMeter 永远等不到结束符 → 持续阻塞,最终触发响应超时 / 服务端主动断开 → Connection reset(连接被重置) - 如果一条报文中间意外出现
>:JMeter 会提前截断报文,拿到残缺数据,解析报错
- 如果抓包发现服务端返回报文结尾没有
3、核对验证步骤(建议抓包确认)
- Wireshark 抓 TCP 响应包,看报文最后一个字节;
- 确认末尾字节 ASCII 码是否等于
62 (0x3E);- 匹配:配置保留 62 即可
- 不匹配:立刻修改 EOL 值为真实结束字节
4、顺带界面其他参数快速回顾
- SO_LINGER:套接字关闭策略,大量并发压测可填 0,减少 TIME_WAIT 堆积
- {dk}:端口变量
- 连接超时 / 响应超时:单位毫秒;响应超时必须大于业务正常耗时
最简总结
62 = 字符 >,是你们 TCP 报文的包结束终止符。JMeter 读到 > 就认为一条消息接收完成。