我们正在运行JMeter来连接TCP Socket和BinaryTCPClientImpl,我们收到响应代码:500
响应消息:org.apache.jmeter.protocol.tcp.sampler.ReadException
JMeter版本:2.9
帮忙
答案 0 :(得分:1)
如果这是错误
ERROR - jmeter.protocol.tcp.sampler.TCPSampler: org.apache.jmeter.protocol.tcp.sampler.ReadException:
at org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl.read(BinaryTCPClientImpl.java:140)
at org.apache.jmeter.protocol.tcp.sampler.TCPSampler.sample(TCPSampler.java:414)
at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:429)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
at java.lang.Thread.run(Unknown Source)
然后你有2个选择。第一个(如果适用则更容易) 对你来说)是使用LengthPrefixedBinaryTCPClientImpl。如果这 适用于您,也就是说,如果您的回答始终是相同的 size,您只需设置tcp.binarylength.prefix.length属性即可 并开展您的业务。 如果不是这样,那么你的另一个选择就是扩展 org.apache.jmeter.protocol.tcp.sampler.TCPClient。进入可能会有所帮助 触摸这个专有协议的客户团队,因为之后 所有,他们已经实现了一些有效的东西。你可能会有 将它扩展为类似于LengthPrefixedBinaryTCPClientImpl 读N个字节。虽然,这会带来阅读太多或太多的风险 几个字节。如果您的应用程序服务器错误地计算了大小 它的输出,你会因为另一次超时而遭受后果 在缓冲区中留下额外的字节并在下一次迭代中读取它们 (然后级联错误)。