You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@ws.apache.org by James Hu <xi...@yahoo.com> on 2002/08/30 16:46:21 UTC

Urgent - How can I improve the performance?

Hi Everyone.

I am developing a SOAP webservice which will be used
very heavily. Perhaps, several hundred calls or
thousand calls per minute. When I am doing load test,
the result is poor. I only can get less than a hundred
successful returns. Is anyone can give me some
information to improve the performance?

Thank you in advance.

Xiaxixi

__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com

Re: Urgent - How can I improve the performance?

Posted by Scott Nichol <sn...@scottnichol.com>.
I do not know off hand of any benchmarks.  I know the fellow who created
SoapRMI (Alex Slominski???) had benchmarked a number of implementations a
while back, but I don't know if he has current results.

Performance has been consciously designed into Axis where is was apparent
from Apache SOAP that there were problems.  One example is the use of SAX to
parse received messages on the fly.  Others include support for HTTP/1.1
chunking and DIME.  Of course, I think these all relate more to larger
payloads.

Scott Nichol

----- Original Message -----
From: "WJCarpenter" <bi...@carpenter.org>
To: <so...@xml.apache.org>
Sent: Friday, August 30, 2002 6:08 PM
Subject: Re: Urgent - How can I improve the performance?


> 2. If your request or response has a large payload (> 50k or so), do
> not use Apache SOAP.  You should consider Apache Axis in this case.

I know that was one of the ideas behind the Axis redesign, but are
there current results demonstrating that it makes any big difference
as Axis stands today?  Or is Axis performance work "waiting for a
later pass"?

[[Not baiting.  Really curious.]]
--
bill@carpenter.ORG (WJCarpenter)    PGP 0x91865119
38 95 1B 69 C9 C6 3D 25    73 46 32 04 69 D6 ED F3




--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>




Re: Urgent - How can I improve the performance?

Posted by Scott Nichol <sn...@scottnichol.com>.
I do not know off hand of any benchmarks.  I know the fellow who created
SoapRMI (Alex Slominski???) had benchmarked a number of implementations a
while back, but I don't know if he has current results.

Performance has been consciously designed into Axis where is was apparent
from Apache SOAP that there were problems.  One example is the use of SAX to
parse received messages on the fly.  Others include support for HTTP/1.1
chunking and DIME.  Of course, I think these all relate more to larger
payloads.

Scott Nichol

----- Original Message -----
From: "WJCarpenter" <bi...@carpenter.org>
To: <so...@xml.apache.org>
Sent: Friday, August 30, 2002 6:08 PM
Subject: Re: Urgent - How can I improve the performance?


> 2. If your request or response has a large payload (> 50k or so), do
> not use Apache SOAP.  You should consider Apache Axis in this case.

I know that was one of the ideas behind the Axis redesign, but are
there current results demonstrating that it makes any big difference
as Axis stands today?  Or is Axis performance work "waiting for a
later pass"?

[[Not baiting.  Really curious.]]
--
bill@carpenter.ORG (WJCarpenter)    PGP 0x91865119
38 95 1B 69 C9 C6 3D 25    73 46 32 04 69 D6 ED F3




--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>




--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


Re: Urgent - How can I improve the performance?

Posted by WJCarpenter <bi...@carpenter.org>.
> 2. If your request or response has a large payload (> 50k or so), do
> not use Apache SOAP.  You should consider Apache Axis in this case.

I know that was one of the ideas behind the Axis redesign, but are
there current results demonstrating that it makes any big difference
as Axis stands today?  Or is Axis performance work "waiting for a
later pass"?

[[Not baiting.  Really curious.]]
-- 
bill@carpenter.ORG (WJCarpenter)    PGP 0x91865119
38 95 1B 69 C9 C6 3D 25    73 46 32 04 69 D6 ED F3




Re: Urgent - How can I improve the performance?

Posted by WJCarpenter <bi...@carpenter.org>.
> 2. If your request or response has a large payload (> 50k or so), do
> not use Apache SOAP.  You should consider Apache Axis in this case.

I know that was one of the ideas behind the Axis redesign, but are
there current results demonstrating that it makes any big difference
as Axis stands today?  Or is Axis performance work "waiting for a
later pass"?

[[Not baiting.  Really curious.]]
-- 
bill@carpenter.ORG (WJCarpenter)    PGP 0x91865119
38 95 1B 69 C9 C6 3D 25    73 46 32 04 69 D6 ED F3




--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


Re: Urgent - How can I improve the performance?

Posted by Scott Nichol <sn...@scottnichol.com>.
There are several things

1. The performance is dependent on your web server, J2EE container, SOAP and
SOAP service, both implementations and configurations.  Only tests would
reveal which is your biggest bottleneck.

2. If your request or response has a large payload (> 50k or so), do not use
Apache SOAP.  You should consider Apache Axis in this case.

3. In your particular case where you get fewer than 100 successful returns,
what OS are you using and how is your J2EE container configured?  Also, what
error message(s) are you seeing?  I ask OS, because the "workstation" or
"professional" versions of Microsoft OS have a very low restriction on
maximum connections.  I ask J2EE container, because these typically have
some way to specify the number of TCP requests that can be queued, and the
value will almost certainly have to be bumped up for your requirements.

Scott Nichol

----- Original Message -----
From: "James Hu" <xi...@yahoo.com>
To: <so...@xml.apache.org>
Sent: Friday, August 30, 2002 10:46 AM
Subject: Urgent - How can I improve the performance?


Hi Everyone.

I am developing a SOAP webservice which will be used
very heavily. Perhaps, several hundred calls or
thousand calls per minute. When I am doing load test,
the result is poor. I only can get less than a hundred
successful returns. Is anyone can give me some
information to improve the performance?

Thank you in advance.

Xiaxixi

__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com

--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>




Re: Urgent - How can I improve the performance?

Posted by Ravishankar Chamarajnagar <rc...@chutneytech.com>.
As I said in one of the other mails, you could try this. It will
tremendously improve the performace of the server since it caches objects
at any configurable granularity.
It is called the CST (Chutney SOAP Toolkit)that you can install at the
server side and have it cache any SOAP object you wish to. It is really
easy to configure
and gives you very good performance. you could get your hands on it at

http://www.componentsource.com/Product.asp?PO=512946

This can really speed up SOAP transactions tremendously. Let me know if
you need to know anything more about it.

-Ravishankar

James Hu wrote:

> Hi Everyone.
>
> I am developing a SOAP webservice which will be used
> very heavily. Perhaps, several hundred calls or
> thousand calls per minute. When I am doing load test,
> the result is poor. I only can get less than a hundred
> successful returns. Is anyone can give me some
> information to improve the performance?
>
> Thank you in advance.
>
> Xiaxixi
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Finance - Get real-time stock quotes
> http://finance.yahoo.com
>
> --
> To unsubscribe, e-mail:   <ma...@xml.apache.org>
> For additional commands, e-mail: <ma...@xml.apache.org>


Re: Urgent - How can I improve the performance?

Posted by Ravishankar Chamarajnagar <rc...@chutneytech.com>.
As I said in one of the other mails, you could try this. It will
tremendously improve the performace of the server since it caches objects
at any configurable granularity.
It is called the CST (Chutney SOAP Toolkit)that you can install at the
server side and have it cache any SOAP object you wish to. It is really
easy to configure
and gives you very good performance. you could get your hands on it at

http://www.componentsource.com/Product.asp?PO=512946

This can really speed up SOAP transactions tremendously. Let me know if
you need to know anything more about it.

-Ravishankar

James Hu wrote:

> Hi Everyone.
>
> I am developing a SOAP webservice which will be used
> very heavily. Perhaps, several hundred calls or
> thousand calls per minute. When I am doing load test,
> the result is poor. I only can get less than a hundred
> successful returns. Is anyone can give me some
> information to improve the performance?
>
> Thank you in advance.
>
> Xiaxixi
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Finance - Get real-time stock quotes
> http://finance.yahoo.com
>
> --
> To unsubscribe, e-mail:   <ma...@xml.apache.org>
> For additional commands, e-mail: <ma...@xml.apache.org>


--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


Re: Urgent - How can I improve the performance?

Posted by Scott Nichol <sn...@scottnichol.com>.
There are several things

1. The performance is dependent on your web server, J2EE container, SOAP and
SOAP service, both implementations and configurations.  Only tests would
reveal which is your biggest bottleneck.

2. If your request or response has a large payload (> 50k or so), do not use
Apache SOAP.  You should consider Apache Axis in this case.

3. In your particular case where you get fewer than 100 successful returns,
what OS are you using and how is your J2EE container configured?  Also, what
error message(s) are you seeing?  I ask OS, because the "workstation" or
"professional" versions of Microsoft OS have a very low restriction on
maximum connections.  I ask J2EE container, because these typically have
some way to specify the number of TCP requests that can be queued, and the
value will almost certainly have to be bumped up for your requirements.

Scott Nichol

----- Original Message -----
From: "James Hu" <xi...@yahoo.com>
To: <so...@xml.apache.org>
Sent: Friday, August 30, 2002 10:46 AM
Subject: Urgent - How can I improve the performance?


Hi Everyone.

I am developing a SOAP webservice which will be used
very heavily. Perhaps, several hundred calls or
thousand calls per minute. When I am doing load test,
the result is poor. I only can get less than a hundred
successful returns. Is anyone can give me some
information to improve the performance?

Thank you in advance.

Xiaxixi

__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com

--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>




--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


RE: Urgent - How can I improve the performance?

Posted by Erich Izdepski <ei...@cysive.com>.
For the curious, the technique proposed below is a very viable approach for
J2ME soap clients.

Erich Izdepski
Senior Software Engineer
Cysive, Inc.


-----Original Message-----
From: William Brogden [mailto:wbrogden@bga.com]
Sent: Friday, August 30, 2002 10:52 AM
To: soap-user@xml.apache.org
Subject: RE: Urgent - How can I improve the performance?



> -----Original Message-----
> From: James Hu [mailto:xiaoxixi30305@yahoo.com]
> Sent: Friday, August 30, 2002 9:46 AM
> To: soap-user@xml.apache.org
> Subject: Urgent - How can I improve the performance?
>
>
> Hi Everyone.
>
> I am developing a SOAP webservice which will be used
> very heavily. Perhaps, several hundred calls or
> thousand calls per minute. When I am doing load test,
> the result is poor. I only can get less than a hundred
> successful returns. Is anyone can give me some
> information to improve the performance?
>
> Thank you in advance.
>
> Xiaxixi
>

While Apache SOAP is flexible, it is not efficient because it
builds so many new objects for every request. If this was
my problem I would pre-build most of the SOAP response message
as static Strings and plug in just the data that changes.

On the request side similar improvements are possible.

wbrogden@bga.com
Author of Soap Programming with Java - Sybex; ISBN: 0782129285




--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


RE: Urgent - How can I improve the performance?

Posted by Erich Izdepski <ei...@cysive.com>.
For the curious, the technique proposed below is a very viable approach for
J2ME soap clients.

Erich Izdepski
Senior Software Engineer
Cysive, Inc.


-----Original Message-----
From: William Brogden [mailto:wbrogden@bga.com]
Sent: Friday, August 30, 2002 10:52 AM
To: soap-user@xml.apache.org
Subject: RE: Urgent - How can I improve the performance?



> -----Original Message-----
> From: James Hu [mailto:xiaoxixi30305@yahoo.com]
> Sent: Friday, August 30, 2002 9:46 AM
> To: soap-user@xml.apache.org
> Subject: Urgent - How can I improve the performance?
>
>
> Hi Everyone.
>
> I am developing a SOAP webservice which will be used
> very heavily. Perhaps, several hundred calls or
> thousand calls per minute. When I am doing load test,
> the result is poor. I only can get less than a hundred
> successful returns. Is anyone can give me some
> information to improve the performance?
>
> Thank you in advance.
>
> Xiaxixi
>

While Apache SOAP is flexible, it is not efficient because it
builds so many new objects for every request. If this was
my problem I would pre-build most of the SOAP response message
as static Strings and plug in just the data that changes.

On the request side similar improvements are possible.

wbrogden@bga.com
Author of Soap Programming with Java - Sybex; ISBN: 0782129285




--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>


RE: Urgent - How can I improve the performance?

Posted by William Brogden <wb...@bga.com>.
> -----Original Message-----
> From: James Hu [mailto:xiaoxixi30305@yahoo.com] 
> Sent: Friday, August 30, 2002 9:46 AM
> To: soap-user@xml.apache.org
> Subject: Urgent - How can I improve the performance?
> 
> 
> Hi Everyone.
> 
> I am developing a SOAP webservice which will be used
> very heavily. Perhaps, several hundred calls or
> thousand calls per minute. When I am doing load test,
> the result is poor. I only can get less than a hundred
> successful returns. Is anyone can give me some
> information to improve the performance?
> 
> Thank you in advance.
> 
> Xiaxixi
> 

While Apache SOAP is flexible, it is not efficient because it
builds so many new objects for every request. If this was
my problem I would pre-build most of the SOAP response message 
as static Strings and plug in just the data that changes.

On the request side similar improvements are possible.

wbrogden@bga.com
Author of Soap Programming with Java - Sybex; ISBN: 0782129285




RE: Urgent - How can I improve the performance?

Posted by William Brogden <wb...@bga.com>.
> -----Original Message-----
> From: James Hu [mailto:xiaoxixi30305@yahoo.com] 
> Sent: Friday, August 30, 2002 9:46 AM
> To: soap-user@xml.apache.org
> Subject: Urgent - How can I improve the performance?
> 
> 
> Hi Everyone.
> 
> I am developing a SOAP webservice which will be used
> very heavily. Perhaps, several hundred calls or
> thousand calls per minute. When I am doing load test,
> the result is poor. I only can get less than a hundred
> successful returns. Is anyone can give me some
> information to improve the performance?
> 
> Thank you in advance.
> 
> Xiaxixi
> 

While Apache SOAP is flexible, it is not efficient because it
builds so many new objects for every request. If this was
my problem I would pre-build most of the SOAP response message 
as static Strings and plug in just the data that changes.

On the request side similar improvements are possible.

wbrogden@bga.com
Author of Soap Programming with Java - Sybex; ISBN: 0782129285




--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>