Yes if the requests were made parallel, I'd agree that this is very heavy
load.

But in my case I do only a few requests parallel, and start the next bunch
only if they are completed.
So I assume there is any garbage left from the completed requests?
That would also explain why the error only appears after some time, and a
few hundred requests.

----- Original Message ----- 
From: "Paul Fremantle" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, February 11, 2008 3:00 PM
Subject: Re: Async requests killing network


> Actually Matthias, 5000 connections is a lot for an untuned OS.
>
>  You need to tune your OS to cope with this sort of load. In my
> personal experience Linux stacks are easier to tune to very high
> TCP/IP loads. You might want to take a look at the tuning we did here:
> http://wso2.org/library/2259 (Linux but the principals apply), and
> this Windows tool as well: http://www.dslreports.com/drtcp
>
> Paul
>
> On Feb 11, 2008 1:31 PM, Matthias Wermund <[EMAIL PROTECTED]> wrote:
> > Thanks for your suggestion, I will definately look into this.
> > Generally spoken, 5000 HTTP connections shouldn't be a problem for
Windows,
> > should it?
> >
> > Or is this simply a buggy behaviour in the Axis2 HTTP transport?
> >
> >
> > ----- Original Message -----
> > From: "Paul Fremantle" <[EMAIL PROTECTED]>
> > To: <[email protected]>
> > Sent: Monday, February 11, 2008 2:06 PM
> > Subject: Re: Async requests killing network
> >
> >
> > > I should point out you do this by commenting (the normal HTTP
> > > transport) and uncommenting (the NIO transport) in axis2.xml.
> > > Some users have also tried the Synapse 1.1.1/1.1.2 NIO HTTP transport
> > > which has a number of bugs fixed compared to the Axis2 version
> > > thereof. You need to grab the JAR file from Synapse and copy the right
> > > axis2.xml config from Synapse's axis2.xml.
> > >
> > > Paul
> > >
> > > On Feb 11, 2008 12:19 PM, Paul Fremantle <[EMAIL PROTECTED]> wrote:
> > > > You might want to try this out using the NIO HTTP transport. It
should
> > > > scale better for this kind of behaviour.
> > > >
> > > > Paul
> > > >
> > > >
> > > > On Feb 11, 2008 11:11 AM, Matthias Wermund <[EMAIL PROTECTED]>
wrote:
> > > > >
> > > > >
> > > > > Hi,
> > > > >
> > > > > I'm having problems starting a big amount of async webservice
requests
> > via
> > > > > Axis2 client in short time.
> > > > > The requests are all started from the same Thread and should run
> > parallel in
> > > > > only small amount.
> > > > >
> > > > > As you can see below, I start about 1000 * 5 = 5000 requests, but
only
> > a max
> > > > > of 2-5 are called parallel.
> > > > > For each dataset, a few information-requests are started parallel,
but
> > I
> > > > > ensure that each CallbackHandler has been finished,
> > > > > before requesting the informations for the next dataset.
> > > > >
> > > > > For the first several hundred requests this works fine, but after
some
> > time,
> > > > > my network (OS is Windows 2000) goes down,
> > > > > which means that the complete OS looses the connection to the
local
> > network.
> > > > >
> > > > > I guess this could be based in opening too much TCP connections or
> > something
> > > > > like this,
> > > > > because if it affects the whole OS and not just my application, it
has
> > to be
> > > > > something with the network device or driver.
> > > > >
> > > > > So basically my question is:
> > > > > Is it ensured that the TCP connection is already closed when
> > > > > CallbackHandler.onError or CallbackHandler.onComplete is called?
> > > > > Or must I do this myself in any way?
> > > > > Do you have any other clue what might be the problem here?
> > > > >
> > > > > Thank you!
> > > > >
> > > > >
> > > > > ______________________________________________
> > > > > A quick mock-overview of how I start the threads:
> > > > >
> > > > > List<Dataset> datasets;    // approx. 500 - 1000 objects
> > > > > ...
> > > > > for (Object data: datasets) {
> > > > >     List<Callback> callbacks;
> > > > >     for (Information info: myRequestsForThisData) {    // approx.
2-5
> > > > > objects
> > > > >         // Generating the Request Document
> > > > >         Request request = generateRequest(info);
> > > > >         // Generating a service Callback instance; the Callback
class
> > has an
> > > > > attribute "finished"
> > > > >         Callback myCallback = new Callback();
> > > > >         // remembering the callback
> > > > >         callbacks.add(myCallback);
> > > > >         // starting the async request
> > > > >         stub.startRequest(request,myCallback);
> > > > >     }
> > > > >
> > > > >     // now wait until all Callbacks are finished (finished is true
if
> > > > > onError or onComplete has been called)
> > > > >     while (true) {
> > > > >         boolean allCompleted = true;
> > > > >         for(Callback callback: callbacks)
> > > > >             if (callback.isFinished()) {
> > > > >                 allCompleted = false;
> > > > >                 break;
> > > > >             }
> > > > >         if (allCompleted)
> > > > >             break;
> > > > >         Thread.sleep(25);
> > > > >     }
> > > > > }
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Paul Fremantle
> > > > Co-Founder and VP of Technical Sales, WSO2
> > > > OASIS WS-RX TC Co-chair
> > > >
> > > > blog: http://pzf.fremantle.org
> > > > [EMAIL PROTECTED]
> > > >
> > > > "Oxygenating the Web Service Platform", www.wso2.com
> > > >
> > >
> > >
> > >
> > > --
> > > Paul Fremantle
> > > Co-Founder and VP of Technical Sales, WSO2
> > > 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]
> > >
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
>
> -- 
> Paul Fremantle
> Co-Founder and VP of Technical Sales, WSO2
> 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]
>
>


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

Reply via email to