hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ole Matzura <...@eviware.com>
Subject java.net.BindException when loadtesting..
Date Wed, 22 Mar 2006 11:38:17 GMT
Hi all!

I have a "strange" problem.. I'm running loadtests on a local IIS using 
a MultiThreadedConnectionManager created as follows:

MultiThreadedHttpConnectionManager connectionManager = new 
MultiThreadedHttpConnectionManager();
connectionManager.getParams().setDefaultMaxConnectionsPerHost( 500 );
connectionManager.getParams().setMaxTotalConnections( 2000 );
httpClient = new HttpClient(connectionManager);

(i've tried lower values with the same results)

My loadtest runs 10 parallell threads which create new PostMethods 
containing a "Connection: close" header for each request. After each 
request I call postMethod.releaseConnection().. (in a finally block)

After about 3600 requests i get an exception when calling 
httpClient.executeMethod( postMethod );

java.net.BindException: Address already in use: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:507)
    at java.net.Socket.connect(Socket.java:457)
    at java.net.Socket.<init>(Socket.java:365)
    at java.net.Socket.<init>(Socket.java:238)
    at 
org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:79)
    at 
org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:121)
    at 
org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:706)
    at 
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1321)
    at 
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:386)
    at 
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
    at 
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
    at 
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)

running netstat from the command line shows a list of thousands of 
active connections.. shouldn't these have been closed? IIS returns the 
Connection: close header in the response. Why am I running out of 
connections/sockets/ports/whatever? What am I doing wrong? Can I "force" 
the closing of the requests some other way?

thanks for any help!

regards,

Ole


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-user-help@jakarta.apache.org


Mime
View raw message