You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Pat Young <pa...@yahoo.com> on 2005/03/22 22:11:17 UTC
SOAP Performance
Would anyone be interested in discussing their
experiences with SOAP performance and the types of
applications they are running?
I am working on a SOAP based reporting system. The
average results set is 200 rows with 20 columns from a
JDBC data source. The data source is very quick and
not much of a factor in my tests. For one user we get
pretty decent results on a single processor, 3GHz
Windows server, which is 1 to 2 seconds per response.
Things seems to scale fairly well until we get to 8
threads, when we get a response in about 8 seconds.
At that point our Web server is completely maxed out
and performance gets really slow. by threads, I mean
JMeter test clients threads that I am using to put a
load on the server.
I know that SOAP servers have to convert all of the
data to a SOAP response and send that result back to
the client. So is what I am seeing normal, or should
I be expecting better performance?
Pat
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/
Re: SOAP Performance
Posted by Aleksander Slominski <as...@cs.indiana.edu>.
Dennis Sosnoski wrote:
> Performance can definitely be a problem with the current frameworks,
> especially if you're using rpc/enc with the default Axis options.
> Changing to doc/lit will generally give you better performance
> (partially because you can reduce the size of the XML messages being
> exchanged). For some performance comparisons you can see
> http://www.sosnoski.com/presents/cleansoap/comparing.html
>
> I'd also suggest getting a capture of your data exchange so you can
> see if there are obvious ways to improve the representation and reduce
> the message sizes. Even if you're stuck using rpc/enc you may be able
> to improve performance by disabling multiRefs and xsi:type information
> in what Axis generates (check the Axis docs or mailing list archive
> for details on how to do this).
i would also add that older versions of AXIS had problems with hanging
references in thread context that led to memory bloat, resource
contention, and sometimes even out of memory exceptions.
in general i think that low memory footprint is way more important than
how fast you parse a message - it is much worse to run out of memory for
many clients than just to accept a bit of slowdown for hundreds of
concurrent clients.
also if you have many clients calling web service and it takes non
trivial amount to compute a response i would strongly recommend either
async API or at least have an ID that is immediately returned and client
uses the ID to get results.
for results of experiments (and interpretation of them) with handling
large number of clients, sync (RPC-style) and async. interactions
(WS-Addressing) and scalability you may want see your paper:
http://www.extreme.indiana.edu/xgws/papers/ws_dispatcher_ipdps2005.pdf -
results in case when endpoints are asymmetrical (such as cable modem
with much bigger downstream than upstream) are particularly interesting
foo for thoughts when you consider how to design service for scalability.
best,
alek
>
> Pat Young wrote:
>
>> Would anyone be interested in discussing their
>> experiences with SOAP performance and the types of
>> applications they are running?
>>
>> I am working on a SOAP based reporting system. The
>> average results set is 200 rows with 20 columns from a
>> JDBC data source. The data source is very quick and
>> not much of a factor in my tests. For one user we get
>> pretty decent results on a single processor, 3GHz
>> Windows server, which is 1 to 2 seconds per response. Things seems to
>> scale fairly well until we get to 8
>> threads, when we get a response in about 8 seconds. At that point our
>> Web server is completely maxed out
>> and performance gets really slow. by threads, I mean
>> JMeter test clients threads that I am using to put a
>> load on the server.
>>
>> I know that SOAP servers have to convert all of the
>> data to a SOAP response and send that result back to
>> the client. So is what I am seeing normal, or should
>> I be expecting better performance?
>>
>> Pat
>>
--
The best way to predict the future is to invent it - Alan Kay
Re: SOAP Performance
Posted by Dennis Sosnoski <dm...@sosnoski.com>.
Performance can definitely be a problem with the current frameworks,
especially if you're using rpc/enc with the default Axis options.
Changing to doc/lit will generally give you better performance
(partially because you can reduce the size of the XML messages being
exchanged). For some performance comparisons you can see
http://www.sosnoski.com/presents/cleansoap/comparing.html
I'd also suggest getting a capture of your data exchange so you can see
if there are obvious ways to improve the representation and reduce the
message sizes. Even if you're stuck using rpc/enc you may be able to
improve performance by disabling multiRefs and xsi:type information in
what Axis generates (check the Axis docs or mailing list archive for
details on how to do this).
- Dennis
Dennis M. Sosnoski
Enterprise Java, XML, and Web Services
Training and Consulting
http://www.sosnoski.com
Redmond, WA 425.885.7197
Pat Young wrote:
>Would anyone be interested in discussing their
>experiences with SOAP performance and the types of
>applications they are running?
>
>I am working on a SOAP based reporting system. The
>average results set is 200 rows with 20 columns from a
>JDBC data source. The data source is very quick and
>not much of a factor in my tests. For one user we get
>pretty decent results on a single processor, 3GHz
>Windows server, which is 1 to 2 seconds per response.
>Things seems to scale fairly well until we get to 8
>threads, when we get a response in about 8 seconds.
>At that point our Web server is completely maxed out
>and performance gets really slow. by threads, I mean
>JMeter test clients threads that I am using to put a
>load on the server.
>
>I know that SOAP servers have to convert all of the
>data to a SOAP response and send that result back to
>the client. So is what I am seeing normal, or should
>I be expecting better performance?
>
>Pat
>