Hi Natraj, Have you tried Axis2 1.4.1?
Paul On Fri, Oct 10, 2008 at 4:06 PM, Gudla, Natraj (GE Money, consultant) <[EMAIL PROTECTED]> 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: '[EMAIL PROTECTED]' > 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 [EMAIL PROTECTED] "Oxygenating the Web Service Platform", www.wso2.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
