Jmeter TCP采样器

时间:2014-12-04 14:29:01

标签: jmeter netty

我们正在运行JMeter来连接TCP Socket和BinaryTCPClientImpl,我们收到响应代码:500

响应消息:org.apache.jmeter.protocol.tcp.sampler.ReadException

JMeter版本:2.9

帮忙

1 个答案:

答案 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个字节。虽然,这会带来阅读太多或太多的风险 几个字节。如果您的应用程序服务器错误地计算了大小 它的输出,你会因为另一次超时而遭受后果 在缓冲区中留下额外的字节并在下一次迭代中读取它们 (然后级联错误)。