> -----Ursprüngliche Nachricht-----
> Von: Roland Weber [mailto:[EMAIL PROTECTED] 
> Gesendet: Montag, 14. November 2005 10:56
> An: HttpClient User Discussion
> Betreff: Re: proxy multithreaded problem
> 
> Hi Ingo,
> 
> there are two limits to the MTCM: number of connections and 
> number of connections per host. The latter is set to a rather 
> low value, I think 2. Make sure to increase both.
> 
> hope that helps,
>   Roland
> 

Sorry, this is what I mean with increasing the connection.
E.g. when I want to dl from two hosts using lets say 200 proxies
and 50 threads i give the MTCM 100 as number of connections (2x50) and 
50 number of connections per host. The proxies are shared by
a pool so that a proxy is only used once cause I think there are
proxies who limits the connections for a certain ip.

This doesn't work!
When i dl without proxies it works fine. Thats why i suppose the 
MTCM tries to keep the connection open for every proxy not for the
real destination, so when i change the proxy, it keeps the connection
open and cause i using 200 there are many unused opened connections.

What i've done now is to overwrite the mtcm releaseConnection() so
he will close always. There was a thread here some days ago about this
topic...

But how to do this? My first try:

package org.ac.net.http;

<the class>...
import org.apache.commons.httpclient.HttpConnection;
import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;

public class AlwaysClosingMultiThreadedHttpConnectionManager
        extends MultiThreadedHttpConnectionManager
{
        public void releaseConnection (
                HttpConnection conn)
        {
                conn.close ();
                super.releaseConnection (conn);
        }

}
<end>

Is this ok or do I need some more code?


Thanks for help

Ingo Meyer


> 
> 
> 
> "Ingo Meyer" <[EMAIL PROTECTED]>
> 14.11.2005 09:52
> Please respond to
> "HttpClient User Discussion"
> 
> 
> To
> <[email protected]>
> cc
> 
> Subject
> proxy multithreaded problem
> 
> 
> 
> 
> 
> 
> 
> Hi,
> 
> I'm new here and this is my first question...
> 
> I want to use httpclient for downloading a big amount of 
> pages all about 
> 80k
> from several servers of our company around the world.
> This works great with httpclient.
> But now I'm adviced to use proxies and this works very bad. I 
> need about 
> 300
> connections simultaniously and the speed decrease very much 
> until it stops
> nearly.
> The difference between with and without proxies is 50-100x, 
> >100k without 
> p.
> and <5k with proxies.
> 
> I have a static instance of multithreadedconnectionmanager 
> and httpclient.
> My guess is that the connections are handled by mtcm for 
> every proxy not 
> for
> the real destination. In my case this is very bad cause I 
> often change the
> proxy and this may be the reason why my speed is to slow.
> When i increase the connections to get more speed overall it 
> doesn't work.
> It seems that the
> socket are limited by java (i tested on xp AND linux)?! As more 
> connections
> i give to mtcm in his configuration as more bad the speed is!?
> Please tell me If you need some code fragment, but i have the standart
> implementation.
> 
> 
> Any suggestions will be appreciated...
> 
> 
> Greats
> Ingo Meyer
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: 
> [EMAIL PROTECTED]
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: 
> [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to