jmetertcp采样器工作正常,但总是稍后接收响应

hs1ihplo  于 2023-08-05  发布在  其他
关注(0)|答案(2)|浏览(130)

我的jmeter TCP采样器工作正常。我调整了协议,我的服务器接受请求并相应地响应。
服务器已经向JMeter发送了响应,但是我的TCP采样器不能立即识别响应。相反,它需要我在timeout -> response字段上配置的毫秒数。


的数据
例如,如果我设置100ms,TCP采样器将在100ms后记录请求成功,无论我的服务器响应请求的速度有多快。



这是简单的配置。如何让我的TCP采样器立即接收响应并记录为成功?我是否缺少一些配置??

06odsfpq

06odsfpq1#

我想出来了BinaryTCPClientImpl正在查找EOL字节值以识别响应结束。我的总是JSON,所以它总是以}值结束,可以转换为以下内容

  • 二进制01111101
  • 十六进制7D
  • 八进制175
  • 有符号/无符号125

EOL字段中需要125的有符号/无符号值。我输入值,服务器一响应事务就结束。

qvk1mo1f

qvk1mo1f2#

1.根据实现的不同,您可能需要设置EOL字节值,以便JMeter将其视为消息结束。它可能是CRLF,}字符,>字符或0 for NULL strings,检查响应并查看是否是您的情况。查找ASCII table中字符的DEC

  1. Enable JMeter debug logging(用于TCP协议),您可以通过将下一行添加到 log4j2.xml 文件(位于JMeter安装的“bin”文件夹中)来完成此操作
<Logger name="org.apache.jmeter.protocol.tcp" level="debug" />

字符串
这样,您将看到请求和响应转储,以及一些关于引擎盖下发生的事情的信息
更多信息:How to Load Test TCP Protocol Services With JMeter

相关问题