axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Fremantle" <pzf...@gmail.com>
Subject Re: FW: Problems with Axis Http Connection Manager not closing connections
Date Fri, 10 Oct 2008 15:22:14 GMT
Hi

Natraj, Have you tried Axis2 1.4.1?

Paul

On Fri, Oct 10, 2008 at 4:06 PM, Gudla, Natraj (GE Money, consultant)
<natraj.gudla@ge.com> wrote:
> Hi All,
> Earlier i have emailed to the axis-dev list but did not see a reply back.
> Can you please suggest any options you may have for the underlying problem
> that i quoted.
>
> Thanks
> Natraj.
>
> ________________________________
> From: Gudla, Natraj (GE Money, consultant)
> Sent: 08 October 2008 15:12
> To: 'axis-dev@ws.apache.org'
> Cc: Spackman, Rosie (GE Money, consultant)
> Subject: Problems with Axis Http Connection Manager not closing connections
>
> Hi All,
>
> We are using Axis2 1.3 version and seems to be facing problems with the
> management of the http connectins via the Http connection manager. Within
> our application we have a stub call which ends up calling a webservice
> deployed as part of the same application. Basically it is a localhost
> webservice call, which is routed back into the server. We are running our
> production kit on Red Hat Linux 64 bit and on Sun App Server 9.1
>
> While performing load tests which involve a webservice call for every
> virtual user(repeatedley with a think time of one minute), the server seems
> to be struggling with open connections having an impact on any new
> connections being acquired by the code. We can see atleast 150+ CLOSE_WAIT
> state connections on the server after the tests are stopped which suggests
> the program is unable to close them gracefully while the OS is waiting for
> them to be closed.
>
> We are using the following settings, Please advice if any suggestions you
> may have to improve this situation.
>
> Following code is set-up only once on the first call :
>
> HttpConnectionManagerParams connectionManagerParams = new
>
> HttpConnectionManagerParams();
>
> connectionManagerParams.setTcpNoDelay(true);
>
> connectionManagerParams.setStaleCheckingEnabled(true);
>
> connectionManagerParams.setDefaultMaxConnectionsPerHost(numOfConnections);
>
> connectionManagerParams.setSoTimeout(60000);
>
> connectionManagerParams.setConnectionTimeout(60000);
>
> conmgr = new MultiThreadedHttpConnectionManager();
>
> conmgr.setParams(connectionManagerParams);
>
> client = new HttpClient(conmgr);
>
>
>
> For every user call for a webservice, following stub code is used :
> Following code uses the client which was instantiated above.
>
> stub=new ApplicationStub(SystemParameters.configurationContext,url);
>
> stub._getServiceClient().getOptions().setTimeOutInMilliSeconds(timeout);
>
> //Set HTTP Protocol Version
>
> stub._getServiceClient().getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.HTTP_PROTOCOL_VERSION,org.apache.axis2.transport.http.HTTPConstants.HEADER_PROTOCOL_11);
>
> stub._getServiceClient().getOptions().setProperty(HTTPConstants.REUSE_HTTP_CLIENT,
> Boolean.TRUE);
>
> stub._getServiceClient().getOptions().setProperty(HTTPConstants.CACHED_HTTP_CLIENT,
> SystemParameters.client);
>
> ConfigurationContext configContext = new
> ConfigurationContext(stub._getServiceClient().getAxisConfiguration());
>
> configContext.setProperty(HTTPConstants.CACHED_HTTP_CLIENT,
> SystemParameters.client);
>
> Thanks
> Natraj.



-- 
Paul Fremantle
Co-Founder and CTO, WSO2
Apache Synapse PMC Chair
OASIS WS-RX TC Co-chair

blog: http://pzf.fremantle.org
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

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


Mime
View raw message