java - 在 jmeter 上执行负载测试时出现套接字关闭错误

标签 java sockets jmeter

我正在尝试在 jmeter 上针对返回 JSON 的 REST api 运行负载测试。

我在 header 管理器中传递以下 header 信息

 Authorization: Bearer VHFAJ0dxNQfJlzPmr7miaH4QOFeNVmez6RXVHX59uovrFAL6z5zMv9krpBAvOcNTwqHRFa8REaidlpuJSUMF8Ol38t7n-sHP2WQn0KmrEnFrtdo6XDRdhspVP1D72oIlu9sP_-rdv1MdsnakVewqrzZ9PeDiWhVKqRBTjWVlnZFpLS-CZ86DFanQ9cw7VZ67a1yOWC7_os7vZYeIhaQ8dM_8n_ocYzFDcCHELSGqnz3NHc9DRrQQfjM6xB17aRjUKQ4ZNV52Ss_1BKG8-5H7bMpi1QiAdDS17K55WrNAZMzgHeaP6UwtQwJyo_gxiaW5PlNJZNQQn4rZvNkIRd_V9Q
Content-Type: application/x-www-form-urlencoded 
Accept: application/json

几天前,我在本地内部服务器上尝试了相同的测试,并且运行良好。现在我在 AWS 上设置的 UAT env 上运行它。

这与 Chrome Postman 扩展一起工作正常。

我还按照以下链接进行操作,但没有成功并获得套接字关闭异常

Non HTTP response message: The target server failed to respond: Is my server failing to handle load

java.net.SocketException: Socket closed at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:127) at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294) at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.open(MeasuringConnectionManager.java:107) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:643) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:517) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:331) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1146) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1135) at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:434) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:261) at java.lang.Thread.run(Thread.java:745)

如果需要更多信息,请告诉我

最佳答案

如果您的 UAT 部署落后于 Elastic Load BalancerElastic IP可能会出现这样的情况:JMeter 只解析一台服务器的 IP 地址,导致该服务器负载过重,而其他服务器则空闲。

尝试添加 DNS Cache Manager查看您的测试计划,看看是否有帮助。查看The DNS Cache Manager: The Right Way To Test Load Balanced Apps有关该域的更多信息的指南。

关于java - 在 jmeter 上执行负载测试时出现套接字关闭错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34653248/

相关文章:

java - Binary Search 仅当搜索项为偶数时才创建无限循环

java - 来自 Callable 的线程保持等待状态。如何杀死线程?

java - 创建自定义搜索栏

c - TCP 套接字实现总是给出旧值

c - Linux NFQUEUE 处理问题

java : string index out of range

java - 如何将 Keycloak 与 PKCE 结合使用

正则表达式在jmeter中提取两个字符串文本

java - JMeter 的 JVM 在 10 分钟后崩溃

performance - Jmeter 在一段时间/所需持续时间内负载测试网站