You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@ws.apache.org by Scott Nichol <ch...@yahoo.com> on 2002/01/21 16:58:46 UTC

Re:

The use of persistent connections supported by HTTP 1.1 would certainly
improve the performance in most benchmarks, but whether it would improve the
performance of an application depends on the particular application.  If
each real world client will make frequent calls (more frequently than the
persistent connection timeout), then HTTP 1.1 would help.

As always, another important consideration is how much speed and throughput
your application actually needs.  If you need extremely high performance,
Apache SOAP will not be the right choice for you.

There are a number of other aspects of Apache SOAP that affect performance.
One external consideration is the Web server and Web (servlet) container you
use.  The Tomcat implmentation of these is much slower than others.  A real
life application of mine had a five-fold round-trip response time
improvement by running the Apache SOAP server on IIS and JRun rather than
Tomcat (3.2.1, I believe).  Within Apache SOAP itself, one bottleneck for
large payloads (> 2k or so) is the default client network implementation,
which uses the Java default 512 byte buffers.  There is a method added to
the transport code to allow one to set a larger buffer.  Making this 4k can
halve the round trip time for large payloads.  Another bottleneck is that
the receiver of a message will construct an entire DOM for that message.
For larger XML structures, this is very costly to performance.  The Apache
follow up to Apache SOAP, a project known as Axis, uses SAX, I believe, to
parse a message stream in a more CPU-efficient manner.

If you find that Apache SOAP's performance is not suitable for your
application, but you wish to remain in the open source world, Axis is
certainly a place to look.  I am not sure whether WASP is open source or
not.  There are other free implementations, although not open source.
Graham's GLUE is available for free in some circumstances.

Scott

----- Original Message -----
From: "Maris, Barbara" <Ba...@barco.com>
To: <sa...@watson.ibm.com>; <du...@us.ibm.com>;
<wc...@raleigh.ibm.com>; <sn...@computer.org>
Cc: "Herreman, Christophe" <Ch...@barco.com>
Sent: Monday, January 21, 2002 10:15 AM


> Hi,
>
> I have a little problem, I hope someone can help me. At the moment, I have
> an apache soap (version 2.2) client and server up and running on the same
> PC. Using the TCP tunneling GUI, I noticed that the client uses http 1.0,
> while the server uses http 1.1. Graham Glass pointed out that one needs to
> use http 1.1 persistent connections in order to get reasonable
performancy.
> Looking at HTTPUtils.java, I noticed that the use of http 1.0 is hard
coded,
> can anybody explain to me why this is done? Are there other possible
causes
> of my performancy problem?
>
> Thanks,
>
> Barbara Maris


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com