[prev in list] [next in list] [prev in thread] [next in thread] 

List:       axis-dev
Subject:    [jira] [Updated] (AXIS2-5453) Threads not getting closed at server side on High Load.
From:       "cesare pietra (JIRA)" <jira () apache ! org>
Date:       2016-12-01 9:37:58
Message-ID: JIRA.12615696.1352715435000.411169.1480585078509 () Atlassian ! JIRA
[Download RAW message or body]


     [ https://issues.apache.org/jira/browse/AXIS2-5453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]

cesare pietra updated AXIS2-5453:
---------------------------------
    Attachment: tomcat_thdump.tgz

Please find attached a tgz JVM thread dump.
At the moment the dump was taken there were approx 240 thread running.
To achieve this number of threads I just ran 200 iterations of a simple ADB client \
request within a for loop. Please let us know if the client stubs might be helpful \
for the analysis.

Thanks in advance

Ciao

\c

> Threads not getting closed at server side on High Load.
> -------------------------------------------------------
> 
> Key: AXIS2-5453
> URL: https://issues.apache.org/jira/browse/AXIS2-5453
> Project: Axis2
> Issue Type: Bug
> Components: client-api
> Affects Versions: 1.5.5, 1.6.2
> Environment: OS: win2k R2 server
> App server: apache-tomcat-7.0.32-windows-x64
> Axis2 version:- Axis2 1.5.5 at server side AND Axis2 1.6.2 at client side.
> Web service stubs generated using Axis2 1.6.2 jar files with ADB data binding.
> Reporter: AravindPS
> Labels: adb-codegen, client, load
> Attachments: catalina.2012-11-12.log, tomcat_thdump.tgz
> 
> 
> Hi,
> We are doing a load test on web Services. When we run a test for 25 thread and 25 \
> cycles per thread with each cycle processing a few web service requests, we are \
> seeing that the number of threads for tomcat server is reaching the max limit of \
> 300 and the threads are not closed automatically by client side or server side. The \
> stubs are generated using the ADB databinding. We are using new instance of the \
> stub for different threads. We are sending the requests from a single host. Some \
>                 config on client side include:
> -------------------------------------------------------------------------------------------------------------------------
>  MultiThreadedHttpConnectionManager httpConnectionManager = new \
> MultiThreadedHttpConnectionManager(); HttpClient httpClient = new \
> HttpClient(httpConnectionManager); \
> stub._getServiceClient().getOptions().setProperty(HTTPConstants.REUSE_HTTP_CLIENT, \
> Constants.VALUE_TRUE); HttpConnectionManagerParams params = new \
> HttpConnectionManagerParams(); params.setDefaultMaxConnectionsPerHost(100); /* 20 \
> per host is fine in practical scenario */ params.setMaxTotalConnections(300);
> httpConnectionManager.setParams(params); 
> stub._getServiceClient().getOptions().setProperty(HTTPConstants.CACHED_HTTP_CLIENT, \
> httpClient); stub._getServiceClient().getOptions().setProperty(HTTPConstants.SO_TIMEOUT, \
> 10000); stub._getServiceClient().getOptions().setProperty(HTTPConstants.CONNECTION_TIMEOUT, \
> 10000); stub._getServiceClient().getOptions().setProperty(HTTPConstants.CHUNKED, \
> "false"); 
> // to avoid retries
> HttpMethodParams methodParams = new HttpMethodParams();
> DefaultHttpMethodRetryHandler retryHandler = new DefaultHttpMethodRetryHandler(0, \
> false); methodParams.setParameter(HttpMethodParams.RETRY_HANDLER, retryHandler);
> stub._getServiceClient().getOptions().setProperty(HTTPConstants.HTTP_METHOD_PARAMS, \
>                 methodParams);
> -------------------------------------------------------------------------------------------------------------------------
>  After running the threads I am calling:
> -----------------------------------------------------------------------------
> stub._getServiceClient().cleanupTransport();
> stub._getServiceClient().cleanup();
> stub.cleanup();
> httpConnectionManager.closeIdleConnections(0);
> httpConnectionManager.deleteClosedConnections();
> httpConnectionManager.shutdown();
> stub = null;
> httpConnectionManager = null;
> -----------------------------------------------------------------------------
> After each web service call I am calling:
> -----------------------------------------------------------------
> stub._getServiceClient().cleanupTransport();
> -----------------------------------------------------------------
> When I shutdown the tomcat, I am getting 'severe' errors in the Tomcat log \
> "catalina.2012-11-12.log". I have attached the log. All the threads are in \
> "Waiting" state. I am not able to close the threads and server gets hanged and it \
> cannot process any new requests. Regards,
> Aravind 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic