Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > SOAP Performance - Really so slow ?

Reply
Thread Tools

SOAP Performance - Really so slow ?

 
 
Roedy Green
Guest
Posts: n/a
 
      11-29-2005
On Tue, 29 Nov 2005 01:16:31 +0000, Andrew McDonagh
<(E-Mail Removed)2s.com> wrote, quoted or indirectly quoted
someone who said :

> http://www.zeroc.com/performance/index.html


is that the right url?
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.
 
Reply With Quote
 
 
 
 
Roedy Green
Guest
Posts: n/a
 
      11-29-2005
On Tue, 29 Nov 2005 01:14:00 +0000, Andrew McDonagh
<(E-Mail Removed)2s.com> wrote, quoted or indirectly quoted
someone who said :

>What this boils down to, is that there is no 'Right' or 'OneTrue' way.

Correct, but there are some ways that deserve to die they are so
inept.
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.
 
Reply With Quote
 
 
 
 
Mike Gaab
Guest
Posts: n/a
 
      11-29-2005

<(E-Mail Removed)> wrote in message
news:(E-Mail Removed) oups.com...
> >From my simple performance tests of SOAP it seems that it is about ten

> times slower than binary object request protocols such as RMI, IIOP or
> SimpleORB.
> Is this also YOUR experience ?
>


Can you quantify your results?

Thanks, Mike



----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----
 
Reply With Quote
 
frankgerlach@gmail.com
Guest
Posts: n/a
 
      11-29-2005
A hello-world (with one String as parameter) SOAP application was at
about 140 calls/sec when running the client and the server on the same
PC (2 GHz Athlon). RMI and SimpleORB would be at about 1600 calls/sec
with the same helloworld app, on the same machine.
This means that SOAP is an order of a magnitude slower than competing
technologies...
Regarding interoperability: CORBA and technologies like SimpleORB ARE
cross-platform, they might only need an http "converter" so that they
can tunnel through firewalls.

 
Reply With Quote
 
Stefan Simek
Guest
Posts: n/a
 
      11-29-2005
Hi,

Well, this is an extremely non-real-word benchmark, that would work
for cases where the request takes zero time at the server side, which is
not a common case, or is simply caused by a design flaw.

You say that you get 140 SOAP calls / sec = cca 7 ms per call, and 1600
RMI calls = cca 0.6 ms. But should the request take 10 ms to complete at
the server, the difference would be 17 ms vs. 10.6 ms, less than
two-fold. With a 100 ms request, this would be 107 ms compared to 100.6
ms, a difference that's completely negligible compared to the benefits
provided by SOAP.

Just my 2c.

Stefan

http://www.velocityreviews.com/forums/(E-Mail Removed) wrote:
> A hello-world (with one String as parameter) SOAP application was at
> about 140 calls/sec when running the client and the server on the same
> PC (2 GHz Athlon). RMI and SimpleORB would be at about 1600 calls/sec
> with the same helloworld app, on the same machine.
> This means that SOAP is an order of a magnitude slower than competing
> technologies...
> Regarding interoperability: CORBA and technologies like SimpleORB ARE
> cross-platform, they might only need an http "converter" so that they
> can tunnel through firewalls.
>

 
Reply With Quote
 
Bruce Wood
Guest
Posts: n/a
 
      11-29-2005

Jon Martin Solaas wrote:
> Bruce Wood wrote:
>
> >
> > Binary protocols are definitely faster, but they lock you into having a
> > .NET server and .NET clients forever....
> >

>
> Really? Actually I think binary protocols were used a long time before
> .Net was invented.


Yes, of course, but binary protocols tend to be technology-specific. If
you use RMI in Java then you are pretty-much stuck with having a Java
client and a Java server (or at least a server that speaks RMI). If you
use .NET Remoting then you are pretty-much stuck with writing all of
your clients in .NET.

Since the post was in a C# newgroup, I assumed that the OP would write
at least one part of the system in C#, and therefore if the OP were to
use a binary protocol it is a practical necessity that all other
parties in the communication also be .NET.

Of course, in theory this isn't really true. One could try to write a
Java client for .NET Remoting, for example, but I shudder at the
thought... you'd have to be a masochist to take that one on.

So, yes, I know that binary protocols were used a long time before .NET
was invented. Binary protocols came first... before any other kind of
protocol. However, I didn't really consider that pertienent to the
discussion.

 
Reply With Quote
 
Bruce Wood
Guest
Posts: n/a
 
      11-29-2005
Ah. I see now that the OP cross-posted into a Java newsgroup. I hadn't
noticed that at first (the sins of using Google Groups). My apologies
to the Java folk for implying that "binary protocol = .NET"... it was a
problem of context.

 
Reply With Quote
 
Bruce Wood
Guest
Posts: n/a
 
      11-29-2005

Roedy Green wrote:
> On Tue, 29 Nov 2005 01:14:00 +0000, Andrew McDonagh
> <(E-Mail Removed)2s.com> wrote, quoted or indirectly quoted
> someone who said :
>
> >What this boils down to, is that there is no 'Right' or 'OneTrue' way.

> Correct, but there are some ways that deserve to die they are so
> inept.
> --
> Canadian Mind Products, Roedy Green.
> http://mindprod.com Java custom programming, consulting and coaching.


Be that as it may, I beg to differ that SOAP / Web Services is one of
those "inept" ways that deserves to die.

In our case, for example, SOAP / Web Services is a godsend. We have a
legacy back-end consisting of millions of lines of code, and no, we're
not about to rewrite the thing in Java or C# just to make purists
happy. Web Services is the first thing we've seen that could open up
our closed mainframe-style architecture and start delivering some
results. Is it inefficient compared to binary protocols? Yup. However,
it's also the only practical way to deal with a heterogeneous
environment.

Binary protocols are efficient and easy to work with until you come up
against a system that has different parts written in different
languages. Then they quickly become a nightmare. For all of its
inefficiencies and problems, SOAP doesn't suffer from that one critical
flaw.

Sure, there may be a "SOAP backlash" coming from twits who use the
technology for absolutely everything, including inter-process
communication. However, the technology does fill a niche (and a huge
niche it is) that RMI, Remoting, etc. have never been able to
adequately address. I think that SOAP / Web Services are here to stay.

 
Reply With Quote
 
Bruce Wood
Guest
Posts: n/a
 
      11-29-2005
Everything I've ever heard about SOAP / Web Services says the same
thing: the protocol is heavyweight, so do everything you can to make
fewer calls and ship more information across the wire on each call. We
know that we have to design differently for WS than we would if we were
using a binary protocol.

Your "Hello World" app benchmark doesn't surprise me. In fact, it just
re-enforces what I had already heard. This doesn't mean that the
protocol is crap. All it means is that you have to keep in mind its
strengths and weaknesses when evaluating it and if you decide to start
writing code and using it.

So, yes, SOAP / WS has the weakness that each call carries with it a
lot of overhead. Tons of overhead. Its strength is that it's highly
interoperable. For highly interactive applications where the server and
all clients use the same language, SOAP / WS is probably not a smart
way to go. For applications that send few messages, each containing
potentially large amounts of data, high chance of flux in the data
contents, and widely varying technologies on the client side, SOAP / WS
is probably your best choice. It all depends upon what you're trying to
do and in what context.

 
Reply With Quote
 
Mike Gaab
Guest
Posts: n/a
 
      11-29-2005

"Bruce Wood" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) ups.com...
>so do everything you can to make
> fewer calls and ship more information across the wire on each call. We
> know that we have to design differently for WS than we would if we were
> using a binary protocol.


Could you elaborate a tad? Just what can be done?

Also, I'm not sure how to determine when a WS should be used over some
other techology. If I my business uses a Java server, then just use a Java
technology to pass the data. Is that how you are determining which to use?
What would be some other factors?

Thanks, Mike



----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: slow slow slow! Expert lino fitter Computer Support 5 12-12-2008 04:00 PM
Re: slow slow slow! Expert lino fitter Computer Support 0 12-10-2008 02:33 PM
String#chop slow? REALLY slow? Mat Schaffer Ruby 11 07-27-2006 05:45 PM
Really slow, painfullu slow asp.net web app michael@randallk.com ASP .Net 3 02-15-2006 11:02 PM
.net SOAP toolkit performance for SOAP deserialization Prabhu ASP .Net Web Services 5 11-18-2004 10:42 PM



Advertisments