You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "stefano gristina (JIRA)" <ji...@apache.org> on 2014/06/17 17:53:02 UTC

[jira] [Commented] (HTTPCLIENT-1518) In 4.3.2/3 (running on Sun Solaris 10) during stress test connections go in close_wait

    [ https://issues.apache.org/jira/browse/HTTPCLIENT-1518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14033940#comment-14033940 ] 

stefano gristina commented on HTTPCLIENT-1518:
----------------------------------------------


HI All,
Thanks for th asnwer. I understood what you said.
Just a info: In 3.x I used MultithreadConnectionManager in this way:
			cm = new MultiThreadedHttpConnectionManager();			hc = new HttpConnectionManagerParams();			cm.setParams(hc);			client = new HttpClient(cm)
The 3.x manages fine the http connection pool, 4.x not. 
If I have time I will try to reproduce the problem in a standalone application.
Best Regards,
Stefano Gristina
 		 	   		  


> In 4.3.2/3 (running on Sun Solaris 10) during stress test connections go in close_wait
> --------------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1518
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1518
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.3.2, 4.3.3
>            Reporter: stefano gristina
>            Priority: Critical
>
> Httplclient used is 4.3.2/3  inside servlet under tomcat 7 (jre 7). SO: Sun Solaris 10.
> During stress test (after some hour)TCP  connections to server go in close_wait. 
> bash-3.2$ netstat -an |grep 8010| grep CLOSE_WAIT        
> 10.199.139.13.37055  10.199.139.1.8010     8760      0 49640      0 CLOSE_WAIT
> 10.199.139.13.37145  10.199.139.1.8010     8760      0 49640      0 CLOSE_WAIT
> 10.199.139.13.37140  10.199.139.1.8010     8760      0 49640      0 CLOSE_WAIT
> 10.199.139.13.37109  10.199.139.1.8010     8760      0 49640      0 CLOSE_WAIT
> 10.199.139.13.36798  10.199.139.1.8010     8760      0 49640      0 CLOSE_WAIT
> 10.199.139.13.37226  10.199.139.1.8010     8760      0 49640      0 CLOSE_WAIT
> One only connection is active at the end. With one only TCP connection the performances are very low. Work around is to restart Tomcat.
> Behaviour not acceptable.
> The class IdleConnectionMonitorThread is used to close idle and expired tcp connections: not real effect.
> Issue solved using httpclient 3.0.1.
> Snippet of code:
> init()
> public void init(ServletConfig config) throws ServletException {
> cm = new PoolingHttpClientConnectionManager();
> 			cm.setDefaultMaxPerRoute(numOfConnectionTOADC);
> 			// HttpClient client = new DefaultHttpClient(cm);
> 			RequestConfig defaultRequestConfig = RequestConfig.custom()
> 					.setSocketTimeout(socketTimeoutADC)
> 					.setConnectTimeout(connectionTimeoutADC).build();
> 			client = HttpClients.custom().setConnectionManager(cm).build();
> 			idleConn=new IdleConnectionMonitorThread(cm);
> 			idleConn.start();
> }
> protected void doGet(){
> CloseableHttpResponse respon;
> 				try {
> 					respon = client.execute(req, context);
> 				}
> 				catch (Exception e) {
> 					
> 				}
> 				finally {
> 					respon.close();
> 					req.releaseConnection();
> 				}
> }



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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