hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (HTTPCLIENT-1334) PoolingClientConnectionManager Performance issue
Date Tue, 02 Apr 2013 14:11:15 GMT

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

Oleg Kalnichevski resolved HTTPCLIENT-1334.
-------------------------------------------

    Resolution: Not A Problem

Creating a pool of 1000 connections for 1000 requests is pointless. Create a pool of 5 connections,
run 5 worker threads to execute 200 requests each and see what happens.

Oleg
                
> PoolingClientConnectionManager Performance issue
> ------------------------------------------------
>
>                 Key: HTTPCLIENT-1334
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1334
>             Project: HttpComponents HttpClient
>          Issue Type: Test
>          Components: HttpConn
>    Affects Versions: 4.2.2
>         Environment: mac osx
>            Reporter: thomas
>              Labels: performance
>
> 	
> I have the following code which use a PoolingClientConnectionManager:
> public static void main(String[] args) {
>     int NoOfSimultaneousRequest = 1000;
>     int poolsize =1000;
>     try{
>     if (poolsize>0){
>         mgr = new PoolingClientConnectionManager();
>         mgr.setMaxTotal(poolsize);
>         mgr.setDefaultMaxPerRoute(poolsize);
>         httpclient  = new DefaultHttpClient(mgr); 
>     }
>     Thread [] tr = new Thread[NoOfSimultaneousRequest];
>     for(int i=0;i<NoOfSimultaneousRequest;i++){
>         MultipleThreadsTest multiTest = new MultipleThreadsTest();
>         Thread t = new Thread(multiTest);
>         tr[i] = new Thread(multiTest);
>     }       
>     for(int i=0;i<NoOfSimultaneousRequest;i++){
>         tr[i].start();
>     }
>     for(int i=0;i<NoOfSimultaneousRequest;i++){
>         tr[i].join();
>     }
>     }catch (Exception e){
>         e.printStackTrace();
>     }finally{
>         if (mgr!=null){
>             mgr.shutdown();
>         }
>         if (httpclient!=null){
>             httpclient.getConnectionManager().shutdown();
>         }
>     }
> }
>  public void run() {
>             if (mgr==null){ //if no connection manager then create multiple instances
of defaulthttpClient
>                 HttpClient  hc  = new DefaultHttpClient();                  
>                 response = invokeWebService(hc,"http://urltoPost") ;
>             }else{ //if connection manager is used then use only one instance of httpclient
>                  response = invokeWebService(httpclient,"http://urltoPost") ;
>             }
>  }  
>  private static  String invokeWebService(HttpClient httpClient,String url){
>      HttpPost httpPost = new HttpPost(new URI(url));
>      try{
>         String response  = httpClient.execute(httpPost,new BasicResponseHandler());
>         return response;
>      }catch(Exception e){
>      }finally{
>          if (httpPost != null) {
>              httpPost.releaseConnection();
>          }
>      }
>  }
> My problem is , when I turn off pooling (by setting poolSize<=0) the code performs
much faster compared to pooling on (poolSize>0) .The only difference between these two
versions is , when using pooling , there is only one instance of httpClient created (Apache
recomended) and when pooling off , multiple instances of httpclient is created .The code is
supposed to perform better when I use http conection pooling . But that is not happening .
Do you see any issue in the usage of connection manager?
> Thanks & Regards Thomas 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


Mime
View raw message