ohaya wrote:
Hi,

We are trying to a JMeter testm one machine to an Apache server on another 
machine.

The JMeter version is 5.2.1 and both the JMeter and the Apache server on are 
separate Windows 2016 machines in AWS.

The Java version on the machine where the JMeter is installed is Windows 1.8 
202(2) or 11.0.14 (we tried several different Java versions and had the same 
problem with all of them).

When we run the test, we noted that the first time we start JMeter, all the 
requests up to near the end of the run are successful, but then all the 
requests near the end of the run get errors:

java.net.BindException: Address already in use: connect

at java.base/java.net.PlainSocketImpl.connect0(Native Method)

at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:101)

at 
java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412)

at 
java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255)

at 
java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237)

at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

at java.base/java.net.Socket.connect(Socket.java:608)

at 
org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:75)

at 
org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)

at 
org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$JMeterDefaultHttpClientConnectionOperator.connect(HTTPHC4Impl.java:326)

at 
org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:374)

at 
org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)

at 
org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)

at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)

at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)

at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)

at 
org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)

at 
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)

at 
org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:850)

at 
org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:561)

at 
org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:67)

at 
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1282)

at 
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1271)

at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:627)

at 
org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:551)

at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:490)

at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)

at java.base/java.lang.Thread.run(Thread.java:834)

(i.e., since most of the requests succeed in that first run, seems like there 
isn't a connectivity problem).

Then if we try to run the same test again, almost all the tests in the 2nd run 
fail the same way as above..

The test plan is really simple with just:

Thread group
   - HTTP Cookie Manager
   - CSV Data Set Config
   - Keystore Configuration
   - HTTP Request
   - View Test Results
   - Summary


When we run the same Jmeter test plan/.jmx on another AWS Windows server (same Windows 
2016 version and same Java), but this "other" AWS Windows server is our 
main/shared terminal server, so they don't want us to run the Jmeter on it.

Does anyone have any idea why Jmeter might be getting those bind errors, but 
only when the Jmeter is run from the 1st Windows machine?

Thanks!

Jim

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@jmeter.apache.org
For additional commands, e-mail: user-h...@jmeter.apache.org

Sounds like it's a problem with the operating system configuration, i.e. you've reached the limit of maximum open ports and the ports which are used haven't been recycled yet.

1. Increase dynamic port range for TCP/IP:
   
https://learn.microsoft.com/en-us/troubleshoot/windows-client/networking/tcp-ip-port-exhaustion-troubleshooting#default-dynamic-port-range-for-tcpip
2. Decrease TcpTimedWaitDelay:
   
https://www.ibm.com/docs/en/filenet-p8-platform/5.5.x?topic=system-recycling-tcp-connections-microsoft-windows-operating
3. Increase the number of TCP connections:
   
https://www.ibm.com/docs/en/filenet-p8-platform/5.5.x?topic=itspmwos-increasing-maximum-number-tcp-connections-microsoft-windows-operating-system

If the above changes will be not sufficient to resolve your issue you will need to allocate at least one more load generator machine and run your JMeter test in distributed mode: https://www.blazemeter.com/blog/distributed-testing-in-jmeter


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@jmeter.apache.org
For additional commands, e-mail: user-h...@jmeter.apache.org

Reply via email to