If you can wait, Axis, which is the follow on to Apache SOAP, will give you better 
performance and,
I presume, more features.

I see your request size is around 13k.  If you use Apache SOAP 2.2, you can use
SOAPHTTPConnection#setOutpuBufferSize to optimize network I/O.  I do not know how this 
will effect
your tests using localhost, but it gave me a nearly 100% performance boost (i.e. the 
round trip time
was halved) across a network.

There is no object pooling on the server, but you can use the "scope" attribute on 
isd:provider in
the deployment descriptor to control object instantiation.  If your server class is 
stateless and
thread safe, set the scope to "Application", and only a single instance will be 
created to service
all clients.

There is a limit to how much you can tweak the performance without getting into the 
guts of the
source, however.  The source uses a separate HTTP connection for each request.  It 
parses XML
streams into DOMs which are then manipulated.  The committers on this project have 
done a fantastic
job of balancing the feature set with performance.  The resources to optimize all the 
code for speed
simply do not exist.

Again, if performance is an issue and you can wait, Axis may be perfect for you.  If 
the performance
of Apache SOAP is not sufficient for your purposes and you cannot wait, I recommend 
you investigate
some of the other implementations that exist.  There are some links on
http://www.xml.com/pub/rg/SOAP_Software and you may also be interested in GLUE from
http://www.themindelectric.com/

Scott Nichol

----- Original Message -----
From: "sac vish" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, June 12, 2001 16:36
Subject: Re: Performance issues with Apache SOAP


> Scott
> You are right, I found that it takes longer (1000ms) only for the first
> time.
> I have a SOAP request of size ~13kb, if client program sends this in loop
> (1000 iterations), it takes on average 130ms per request (first request
> which takes longer is ignored in calculations).
> BTW server does not do any processing.
>
> If I run same client program simulatenously in 4 console, processing time
> increased to around 360ms, almost 3 times of earlier test.
>
> 1. Am I getting expected readings?
> 2. Where is the room to improve the performance in case of simulatenous
> requests?
> 3. I believe everytime new object gets instantiated for processing the
> request. Does code use object pooling?
> 4. Somebody in earlier replied suggested to use HTTP enhancement such as
> HTTP connection pooling. Would appreciate if you could suggest any ways to
> improve the performance.
>
> Thanks
> Sac
>
> >From: "Scott Nichol" <[EMAIL PROTECTED]>
> >Reply-To: [EMAIL PROTECTED]
> >To: <[EMAIL PROTECTED]>
> >Subject: Re: Performance issues with Apache SOAP
> >Date: Tue, 12 Jun 2001 15:04:16 -0400
> >
> >Using localhost does not mean that DNS is not used.  It is necessary to
> >resolve localhost to an IP
> >address, and the name resolution configuration may be such that DNS is used
> >before the hosts file.
> >On Windows, the situation is worse, in that NetBIOS broadcast and WINS
> >lookup can be configured to
> >have priority over hosts, lmhosts and DNS.
> >
> >Anyway, if it takes 375 ms to create a Call object, you have other
> >problems.  Almost no code is
> >executed to do this.  All the real work is done as part of Call#invoke.
> >
> >Your 800-1000 ms is *much* slower than I experience with the AddressBook
> >sample, and I run NT and
> >Win2k on a 400 MHz K6-3.  My software is IIS and JRun, though, which I
> >found significantly faster
> >than Apache and Tomcat (or Tomcat standalone) for this purpose.
> >
> >Scott Nichol
> >
> >----- Original Message -----
> >From: "sac vish" <[EMAIL PROTECTED]>
> >To: <[EMAIL PROTECTED]>
> >Sent: Tuesday, June 12, 2001 14:06
> >Subject: RE: Performance issues with Apache SOAP
> >
> >
> > > Hi Shaun,
> > > I am using 'localhost', so I guess, DNS and routing should not come into
> > > picture.
> > >
> > > I am not sure of reusing the object, as Apache SOAP does not provide
> > > reference to remote object, I believe every time it instantiates the new
> > > remote object. Does it provide objet pooling?
> > >
> > > You have mentioned about HTTP enhancements, do I need to some setting to
> > > leverage these things? Since keep-alive is currently not supported how
> >the
> > > HTTP connection gets reused?
> > >
> > > Thanks
> > > Sac
> > >
> > >
> > > >From: [EMAIL PROTECTED]
> > > >Reply-To: [EMAIL PROTECTED]
> > > >To: [EMAIL PROTECTED]
> > > >Subject: RE: Performance issues with Apache SOAP
> > > >Date: Tue, 12 Jun 2001 10:14:45 +0300
> > > >
> > > >Hi Sac,
> > > >
> > > >Are you using localhost ? Remember that SOAP is a network based
> >technology
> > > >so check that things like any DNS lookups and call routing are not
> >slowing
> > > >things down.  Also remember that you should be looking to re-use
> >objects
> > > >where possible especially ones that have a high initialisation
> >overhead.
> > > >I'm not sure at this time about 2.1/2.2's use of HTTP 1.1 and re-usable
> > > >HTTP
> > > >connections.  If you are sending multiple soap messages to the same
> > > >endpoint
> > > >look at using this enhancement to HTTP.
> > > >
> > > >Regards,
> > > >
> > > >Shaun O'Hagan
> > > >London UK.
> > > >
> > > >-----Original Message-----
> > > >From: ext sac vish [mailto:[EMAIL PROTECTED]]
> > > >Sent: Tuesday, June 12, 2001 12:46 AM
> > > >To: [EMAIL PROTECTED]
> > > >Subject: Performance issues with Apache SOAP
> > > >
> > > >
> > > >Hi ALL,
> > > >I was curious to know whether anybody has done bench marking on Apache
> >SOAP
> > > >2.1/2.2? I found it to be very slow,it takes around 800-1000ms per SOAP
> > > >call. I have not debugged the code but it seems just to create the
> >'Call'
> > > >object it takes 375ms. Could somebody tell me why it takes that long??
> > > >Is there any possiblity to optimize it, if only HTTP transport is
> >needed?
> > > >
> > > >Thanks
> > > >Sac
> > > >_________________________________________________________________
> > > >Get your FREE download of MSN Explorer at http://explorer.msn.com
> > >
> > > _________________________________________________________________
> > > Get your FREE download of MSN Explorer at http://explorer.msn.com
> > >
> >
>
> _________________________________________________________________
> Get your FREE download of MSN Explorer at http://explorer.msn.com
>

Reply via email to