473,785 Members | 2,830 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

SOAP Performance - Really so slow ?

>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 ?

Nov 28 '05
52 5817

"Aquila Deus" <aq*********@gm ail.com> wrote in message
news:11******** **************@ o13g2000cwo.goo glegroups.com.. .
fr**********@gm ail.com wrote:
Potentially WRONG: Real-world requests will transfer much more data,
which produces a VERY lengthy SOAP message. SOAP is not just a huge
envelope around efficiently encoded data, but a lengthy envelope that
contains lenghty data structures.
Just look at the encoding of an integer:
<Integer xmlns="urn:vwse rvices">1</Integer>
That is 40 bytes for a single integer - about a factor of ten (actually
40 if intelligently encoded) worse than CORBA.
This means that multi-object messages are ALSO inefficient, because
each object/value if inefficiently encoded.


hmmm couldn't this be easily solved by compression??


http://www.osmoticweb.com/axis-soap-compression.htm

----== 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 =----
Nov 30 '05 #31

"Mike Gaab" <mi****@montana .com> wrote in message
news:11******** ******@spool6-east.superfeed. net...

"Aquila Deus" <aq*********@gm ail.com> wrote in message
news:11******** **************@ o13g2000cwo.goo glegroups.com.. .
fr**********@gm ail.com wrote:
Potentially WRONG: Real-world requests will transfer much more data,
which produces a VERY lengthy SOAP message. SOAP is not just a huge
envelope around efficiently encoded data, but a lengthy envelope that
contains lenghty data structures.
Just look at the encoding of an integer:
<Integer xmlns="urn:vwse rvices">1</Integer>
That is 40 bytes for a single integer - about a factor of ten (actually
40 if intelligently encoded) worse than CORBA.
This means that multi-object messages are ALSO inefficient, because
each object/value if inefficiently encoded.


hmmm couldn't this be easily solved by compression??


http://www.osmoticweb.com/axis-soap-compression.htm

http://www-128.ibm.com/developerwork...s-sqzsoap.html

----== 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 =----
Nov 30 '05 #32
On 29 Nov 2005 20:12:00 -0800, "Aquila Deus" <aq*********@gm ail.com>
wrote, quoted or indirectly quoted someone who said :
<Integer xmlns="urn:vwse rvices">1</Integer>
That is 40 bytes for a single integer - about a factor of ten (actually
40 if intelligently encoded) worse than CORBA.
This means that multi-object messages are ALSO inefficient, because
each object/value if inefficiently encoded.


hmmm couldn't this be easily solved by compression??


Let's say you got 50% compression. You are down to 20 bytes per
integer verses 2. AND you have yet another cpu intensive step at both
ends.
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.
Nov 30 '05 #33
Roedy Green wrote:
On 29 Nov 2005 20:12:00 -0800, "Aquila Deus" <aq*********@gm ail.com>
wrote, quoted or indirectly quoted someone who said :
<Integer xmlns="urn:vwse rvices">1</Integer>
That is 40 bytes for a single integer - about a factor of ten (actually
40 if intelligently encoded) worse than CORBA.
This means that multi-object messages are ALSO inefficient, because
each object/value if inefficiently encoded.


hmmm couldn't this be easily solved by compression??


Let's say you got 50% compression. You are down to 20 bytes per
integer verses 2. AND you have yet another cpu intensive step at both
ends.


I plan to use it with AJAX, so the client-side cpu loading isn't
important, and the compression rate should be much higher than 50%
usually (most data transfered will be xml tags...). Besides, if I dont
use SOAP, what else can I choose?? IIOP over HTTP?

Nov 30 '05 #34
Roedy Green wrote:

Let's say you got 50% compression. You are down to 20 bytes per
integer verses 2. AND you have yet another cpu intensive step at both
ends.


With a suitable encoding, the protocol can be compacted by 80% while
reducing CPU load.

http://java.sun.com/developer/techni...rvices/fastWS/

Tom Hawtin
--
Unemployed English Java programmer
http://jroller.com/page/tackline/
Nov 30 '05 #35
Bruce Wood sez:
.... Instead, the beauty of SOAP / WS is that I as a consumer can buy an
application server that is designed to run services written in Java
from one vendor and a client platform for .NET clients from another
vendor and the two work together.


Uh-huh. The beauty of windows is that a consumer can buy a windows
peecee and go whenever he wants to today by just clicking on the
"Start" button.

When I become the Evil Overlord I'll have every SOAPophiliac do 3
years of system administration in heterogeneous environment before
they're allowed to comment on "ease" of SOAP.

Dima
--
.... If you want to make sure you don't put a Pig in a List of airplanes and
have it fail at insertion rather than extraction, use
planelist.add(( Airplane)o) instead of planelist.add(o ). It's that easy.
-- Mark 'Kamikaze' Hughes
Nov 30 '05 #36
Bruce Wood wrote:
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. :-)


Exactly. And I just realized it was posted on a .net-group too :-) My
point was merely that big bad binary protocol isn't just a dot-net
thingie. RMI and EJB-remoting is just as binary in the Java world.

--
jon martin solaas
Dec 1 '05 #37
Stefan Simek wrote:
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.


Or slightly rephrased - If the server takes forever to answer, the
protocol is irrelevant.

And if you consider message size and payload also, suddenly protocol
isn't that irrelevant again. Funny isn't it?

--
jon martin solaas
Dec 1 '05 #38
Aquila Deus wrote:
I plan to use it with AJAX, so the client-side cpu loading isn't
important, and the compression rate should be much higher than 50%
usually (most data transfered will be xml tags...). Besides, if I dont
use SOAP, what else can I choose?? IIOP over HTTP?


Aren't most remoting protocol networkable?

--
jon martin solaas
Dec 1 '05 #39

"Jon Martin Solaas" <jo************ ***@jahoo.nei> wrote in message
news:dm******** **@bat-news01.banetele .basefarm.net.. .
Stefan Simek wrote:
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.


Or slightly rephrased - If the server takes forever to answer, the
protocol is irrelevant.

And if you consider message size and payload also, suddenly protocol isn't
that irrelevant again. Funny isn't it?


And what about routing, isn't that also a factor?
Isn't it really hard to benchmark something that is not deterministic?
(I know you can run lots of tests and that will tend to flatten some of the
peaks and valleys.)

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 =----
Dec 1 '05 #40

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
4005
by: Scott | last post by:
I have a customer that had developed an Access97 application to track their business information. The application grew significantly and they used the Upsizing Wizard to move the tables to SQL 2000. Of course there were no modifications made to the queries and they noticed significant performance issues. They recently upgraded the application to Access XP expecting the newer version to provide performance benefits and now queries take...
24
2790
by: Bob Alston | last post by:
Most of my Access database implementations have been fairly small in terms of data volume and number of concurrent users. So far I haven't had performance issues to worry about. <knock on wood> But I am curious about what techniques those of you who have done higher volume access implementations use to ensure high performance of the database in a multi-user 100mbps LAN implementation??? Thanks
8
2764
by: Jack | last post by:
When I try TooFPy with the SOAP and XML-RPC sample client code provided in TooFPy tutorials, a log entry shows up quickly on web server log window, but it takes a long time (5 seconds or longer) for the client to output a "Hello you." It seems like the web server is fast because the log entry shows immieidately on web server console. But it takes Python XML/SOAP parser a long time to parse the extremely simple result. If so, wouldn't this...
5
3075
by: =?Utf-8?B?TWFyaw==?= | last post by:
Hi... I've got a .Net client to a soap service that works for the most part, but there are a couple of things I'd like to improve: 1) the first request to the client wrapper always takes 12-15 seconds even though the web server shows < a half second spent on the request. What takes so much time for the client wrapper to warm up? All subsequent requests, even to the same method, take the half second.
0
10330
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10153
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10093
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9952
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7500
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6740
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5381
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4053
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
2880
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.