HTTP 原始请求默认抛出响应 message:java.net.SocketTimeoutException:从套接字读取时超时
HTTP Raw request default is throwing Response message:java.net.SocketTimeoutException: Timeout exceeded while reading from socket
我发送了一个带有主机和端口的 HTTP 原始请求,我确定我可以使用我的 windows 10 设备进行连接。(使用 Test-NetConnection 测试并通过 [=36= 发送数据] App, echo "DEMO Message" | nc mYHOST 6021)
但是,当我在 Jmeter 中发送请求时,出现以下错误。
采样器结果如下。
Thread Name:Thread Group 1-1
Sample Start:2021-09-17 15:55:08 IST
Load time:9300
Connect Time:0
Latency:0
Size in bytes:921
Sent bytes:0
Headers size in bytes:0
Body size in bytes:921
Sample Count:1
Error Count:1
Data type ("text"|"bin"|""):text
Response code:500
Response message:java.net.SocketTimeoutException: Timeout exceeded while reading from socket
SampleResult fields:
ContentType:
DataEncoding: null
响应如下。
java.net.SocketTimeoutException: Timeout exceeded while reading from socket
java.net.SocketTimeoutException: Timeout exceeded while reading from socket
at kg.apc.io.SocketChannelWithTimeouts.read(SocketChannelWithTimeouts.java:133)
at kg.apc.jmeter.samplers.HTTPRawSampler.readResponse(HTTPRawSampler.java:64)
at kg.apc.jmeter.samplers.HTTPRawSampler.processIO(HTTPRawSampler.java:163)
at kg.apc.jmeter.samplers.AbstractIPSampler.sample(AbstractIPSampler.java:112)
at kg.apc.jmeter.samplers.HTTPRawSampler.sample(HTTPRawSampler.java:42)
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:630)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)
at java.base/java.lang.Thread.run(Thread.java:830)
虽然这个演示主机和端口可以正常工作,但我在实际请求中也使用了完全相同的内容。
当我将 JSR223 采样器与以下代码一起使用时,会出现类似的问题。
def client = new Socket('DemoHostname', 9000);
client.setSoTimeout(2000);
client << "Hello ";
client.withStreams { input, output ->
def reader = input.newReader()
def response = reader.readLine()
log.info('Response = ' + response)
}
client.close()
还有 Jmter 的 TCP 采样器。
所以根据建议,我将其作为Http请求发送到Logstash的websocket。
好事是添加记录得到添加,但 Jmter http 请求处于无休止状态 运行。似乎因为 logstash 通过 TCP 进行通信,所以它无法提供 http 响应。
你想通过发送 HELLO TEST
到 echo.websocket.org
来达到什么目的?
如果您想发送 HTTP Request there,您需要执行以下操作:
GET / HTTP/1.1
Host: echo.websocket.org
Connection: close
演示:
如果您需要加载测试 WebSocket server - you're using the wrong plugin, you should go for JMeter WebSocket Samplers 并考虑使用更多“活动”端点,因为此 echo.websocket.org
似乎不再有效。
我发送了一个带有主机和端口的 HTTP 原始请求,我确定我可以使用我的 windows 10 设备进行连接。(使用 Test-NetConnection 测试并通过 [=36= 发送数据] App, echo "DEMO Message" | nc mYHOST 6021) 但是,当我在 Jmeter 中发送请求时,出现以下错误。
采样器结果如下。
Thread Name:Thread Group 1-1
Sample Start:2021-09-17 15:55:08 IST
Load time:9300
Connect Time:0
Latency:0
Size in bytes:921
Sent bytes:0
Headers size in bytes:0
Body size in bytes:921
Sample Count:1
Error Count:1
Data type ("text"|"bin"|""):text
Response code:500
Response message:java.net.SocketTimeoutException: Timeout exceeded while reading from socket
SampleResult fields:
ContentType:
DataEncoding: null
响应如下。
java.net.SocketTimeoutException: Timeout exceeded while reading from socket
java.net.SocketTimeoutException: Timeout exceeded while reading from socket
at kg.apc.io.SocketChannelWithTimeouts.read(SocketChannelWithTimeouts.java:133)
at kg.apc.jmeter.samplers.HTTPRawSampler.readResponse(HTTPRawSampler.java:64)
at kg.apc.jmeter.samplers.HTTPRawSampler.processIO(HTTPRawSampler.java:163)
at kg.apc.jmeter.samplers.AbstractIPSampler.sample(AbstractIPSampler.java:112)
at kg.apc.jmeter.samplers.HTTPRawSampler.sample(HTTPRawSampler.java:42)
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:630)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)
at java.base/java.lang.Thread.run(Thread.java:830)
虽然这个演示主机和端口可以正常工作,但我在实际请求中也使用了完全相同的内容。
当我将 JSR223 采样器与以下代码一起使用时,会出现类似的问题。
def client = new Socket('DemoHostname', 9000);
client.setSoTimeout(2000);
client << "Hello ";
client.withStreams { input, output ->
def reader = input.newReader()
def response = reader.readLine()
log.info('Response = ' + response)
}
client.close()
还有 Jmter 的 TCP 采样器。
所以根据建议,我将其作为Http请求发送到Logstash的websocket。 好事是添加记录得到添加,但 Jmter http 请求处于无休止状态 运行。似乎因为 logstash 通过 TCP 进行通信,所以它无法提供 http 响应。
你想通过发送 HELLO TEST
到 echo.websocket.org
来达到什么目的?
如果您想发送 HTTP Request there,您需要执行以下操作:
GET / HTTP/1.1
Host: echo.websocket.org
Connection: close
演示:
如果您需要加载测试 WebSocket server - you're using the wrong plugin, you should go for JMeter WebSocket Samplers 并考虑使用更多“活动”端点,因为此 echo.websocket.org
似乎不再有效。