2014-12-04 152 views
2

我们正在运行的JMeter用于连接TCP套接字thorugh BinaryTCPClientImpl,我们所得到的响应代码:500的JMeter TCP采样

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

JMeter的版本:2.9

助阵

+0

请参见:http://stackoverflow.com/questions/10683853/jmeter-tcp-sampler-incorrectly-reports-500 问题已经问。 – 2014-12-05 06:03:06

+0

我已经在jmeter属性文件中设置参数仍然不起作用 – 2014-12-05 06:10:25

+0

服务器是否正确发送响应? – 2014-12-05 06:14:55

回答

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。如果这 适用于你,那就是,如果你的回答总是相同的固定 的大小,你可以简单地设置tcp.binarylength.prefix.length财产 去了解您的业务。 如果不是的话,那么你的另一种选择是延长 org.apache.jmeter.protocol.tcp.sampler.TCPClient。这可能有助于获得 接触这个专有协议的客户团队,因为在 之后,他们已经实现了一些可行的方法。您可能会有 将其扩展为看起来像LengthPrefixedBinaryTCPClientImpl 读取N个字节。虽然这会带来阅读太多或太少字节的风险。如果您的应用程序服务器曾经算错的 大小是输出,通过获取其他超时或 在缓冲区中留下额外的字节和阅读他们的下一次迭代 (然后级联错误)承担后果。

相关问题