You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@xml.apache.org by Mark Bloore <mb...@fmco.com> on 2001/04/11 22:49:54 UTC

soap library performance

I have written a simple trial client and server using Apache SOAP 2.1.  They
exchange a small amount of data (less than 5KB) in Strings and Vectors of
String (and one Boolean).  The one user-defined object involved uses the
Bean serializer and contains only String members.  
When my client does 100 loops it takes 60 seconds.

I captured the output from the client, and wrote a fake client that simply
sends that data to the server through a Socket, and discards the returned
data without analysis.  Using TcpTunnelGui I verified that the correct SOAP
data comes back.
When my fake client does 100 loops it takes 3 seconds.

It looks like the Apache SOAP library is terribly slow marshalling and
unmarshalling data, and perhaps isn't too good at the I/O either.  I don't
have any code instrumentation tools to figure out just where the time goes
at lower levels.  I have used Windows' Perfmon to look at overall CPU and
I/O use, and am not entirely sure how to interpret the results;  running the
real client, both CPU use and I/O rate are low, as if they were waiting for
each other, while with the fake client both are high.

Running a client built (in VB) with Microsoft's SOAP toolkit beta 2 goes
about 5 times faster than the Java/Apache client.  The server, by the way,
is Tomcat 3.2.1.  I have also tried WebLogic 5.1 a few times, with similar
results.  All this is with the server on a remote box.  If client and server
are on the same box, things are faster, and WebLogic noticeably faster than
Tomcat.

Does anyone have any insights into Apache SOAP performance?  Is there
anything I could do to speed it up?  (My client is closely modeled on the
AddressBook example.)  Does the server have much to do with it?

-- 
mARK bLOORE <mb...@fmco.com> 

Re: soap library performance

Posted by Scott Nichol <sn...@computer.org>.
Mark,

I have made a change locally that I speeds network I/O on the client, but I don't have a
good test client and server (all of my servers do database I/O), so the relative
improvement is small compared to the total round trip time.  You could save me a little
work by sending me your test code, either directly or via this list.  Alternatively, I
could supply you the changed source or the new soap.jar.

Scott Nichol

----- Original Message -----
From: "Mark Bloore" <mb...@fmco.com>
To: <so...@xml.apache.org>; <so...@xml.apache.org>
Sent: Wednesday, April 11, 2001 4:49 PM
Subject: soap library performance


> I have written a simple trial client and server using Apache SOAP 2.1.  They
> exchange a small amount of data (less than 5KB) in Strings and Vectors of
> String (and one Boolean).  The one user-defined object involved uses the
> Bean serializer and contains only String members.
> When my client does 100 loops it takes 60 seconds.
>
> I captured the output from the client, and wrote a fake client that simply
> sends that data to the server through a Socket, and discards the returned
> data without analysis.  Using TcpTunnelGui I verified that the correct SOAP
> data comes back.
> When my fake client does 100 loops it takes 3 seconds.
>
> It looks like the Apache SOAP library is terribly slow marshalling and
> unmarshalling data, and perhaps isn't too good at the I/O either.  I don't
> have any code instrumentation tools to figure out just where the time goes
> at lower levels.  I have used Windows' Perfmon to look at overall CPU and
> I/O use, and am not entirely sure how to interpret the results;  running the
> real client, both CPU use and I/O rate are low, as if they were waiting for
> each other, while with the fake client both are high.
>
> Running a client built (in VB) with Microsoft's SOAP toolkit beta 2 goes
> about 5 times faster than the Java/Apache client.  The server, by the way,
> is Tomcat 3.2.1.  I have also tried WebLogic 5.1 a few times, with similar
> results.  All this is with the server on a remote box.  If client and server
> are on the same box, things are faster, and WebLogic noticeably faster than
> Tomcat.
>
> Does anyone have any insights into Apache SOAP performance?  Is there
> anything I could do to speed it up?  (My client is closely modeled on the
> AddressBook example.)  Does the server have much to do with it?
>
> --
> mARK bLOORE <mb...@fmco.com>
>


Re: soap library performance

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
hi,

please post you client and server code so others could reproduce test results
and confirm them. you should also describe your hardware/software environment or
results are not very useful (how you compare 486 to 1Ghz PIII?).

there was some work done on profiling current soap apache but there was no
conclusion - except maybe that xerces is introducing quite of overhead (check
mail archives). also next version of apache soap called axis should have better
performance. also you may find interesting test results that we have done for
various soap implementations about a half yes ago at (and that includes source
code):

http://www.extreme.indiana.edu/soap/#perf

i plan to update those results for latest SoapRMI 1.1 (i have completely
rewritten it since 1.0 version) and apache soap (though apache soap did not
change).

thanks,

alek

Mark Bloore wrote:

> I have written a simple trial client and server using Apache SOAP 2.1.  They
> exchange a small amount of data (less than 5KB) in Strings and Vectors of
> String (and one Boolean).  The one user-defined object involved uses the
> Bean serializer and contains only String members.
> When my client does 100 loops it takes 60 seconds.
>
> I captured the output from the client, and wrote a fake client that simply
> sends that data to the server through a Socket, and discards the returned
> data without analysis.  Using TcpTunnelGui I verified that the correct SOAP
> data comes back.
> When my fake client does 100 loops it takes 3 seconds.
>
> It looks like the Apache SOAP library is terribly slow marshalling and
> unmarshalling data, and perhaps isn't too good at the I/O either.  I don't
> have any code instrumentation tools to figure out just where the time goes
> at lower levels.  I have used Windows' Perfmon to look at overall CPU and
> I/O use, and am not entirely sure how to interpret the results;  running the
> real client, both CPU use and I/O rate are low, as if they were waiting for
> each other, while with the fake client both are high.
>
> Running a client built (in VB) with Microsoft's SOAP toolkit beta 2 goes
> about 5 times faster than the Java/Apache client.  The server, by the way,
> is Tomcat 3.2.1.  I have also tried WebLogic 5.1 a few times, with similar
> results.  All this is with the server on a remote box.  If client and server
> are on the same box, things are faster, and WebLogic noticeably faster than
> Tomcat.
>
> Does anyone have any insights into Apache SOAP performance?  Is there
> anything I could do to speed it up?  (My client is closely modeled on the
> AddressBook example.)  Does the server have much to do with it?
>
> --
> mARK bLOORE <mb...@fmco.com>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: soap-user-unsubscribe@xml.apache.org
> For additional commands, email: soap-user-help@xml.apache.org

--
Aleksander Slominski, LH 316, IU, http://www.extreme.indiana.edu/~aslom
As I look afar I see neither cherry Nor tinted leaves Just a modest hut
on the coast In the dusk of Autumn nightfall - Fujiwara no Teika(1162-1241)



---------------------------------------------------------------------
To unsubscribe, e-mail: soap-user-unsubscribe@xml.apache.org
For additional commands, email: soap-user-help@xml.apache.org


Re: soap library performance

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
hi,

please post you client and server code so others could reproduce test results
and confirm them. you should also describe your hardware/software environment or
results are not very useful (how you compare 486 to 1Ghz PIII?).

there was some work done on profiling current soap apache but there was no
conclusion - except maybe that xerces is introducing quite of overhead (check
mail archives). also next version of apache soap called axis should have better
performance. also you may find interesting test results that we have done for
various soap implementations about a half yes ago at (and that includes source
code):

http://www.extreme.indiana.edu/soap/#perf

i plan to update those results for latest SoapRMI 1.1 (i have completely
rewritten it since 1.0 version) and apache soap (though apache soap did not
change).

thanks,

alek

Mark Bloore wrote:

> I have written a simple trial client and server using Apache SOAP 2.1.  They
> exchange a small amount of data (less than 5KB) in Strings and Vectors of
> String (and one Boolean).  The one user-defined object involved uses the
> Bean serializer and contains only String members.
> When my client does 100 loops it takes 60 seconds.
>
> I captured the output from the client, and wrote a fake client that simply
> sends that data to the server through a Socket, and discards the returned
> data without analysis.  Using TcpTunnelGui I verified that the correct SOAP
> data comes back.
> When my fake client does 100 loops it takes 3 seconds.
>
> It looks like the Apache SOAP library is terribly slow marshalling and
> unmarshalling data, and perhaps isn't too good at the I/O either.  I don't
> have any code instrumentation tools to figure out just where the time goes
> at lower levels.  I have used Windows' Perfmon to look at overall CPU and
> I/O use, and am not entirely sure how to interpret the results;  running the
> real client, both CPU use and I/O rate are low, as if they were waiting for
> each other, while with the fake client both are high.
>
> Running a client built (in VB) with Microsoft's SOAP toolkit beta 2 goes
> about 5 times faster than the Java/Apache client.  The server, by the way,
> is Tomcat 3.2.1.  I have also tried WebLogic 5.1 a few times, with similar
> results.  All this is with the server on a remote box.  If client and server
> are on the same box, things are faster, and WebLogic noticeably faster than
> Tomcat.
>
> Does anyone have any insights into Apache SOAP performance?  Is there
> anything I could do to speed it up?  (My client is closely modeled on the
> AddressBook example.)  Does the server have much to do with it?
>
> --
> mARK bLOORE <mb...@fmco.com>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: soap-user-unsubscribe@xml.apache.org
> For additional commands, email: soap-user-help@xml.apache.org

--
Aleksander Slominski, LH 316, IU, http://www.extreme.indiana.edu/~aslom
As I look afar I see neither cherry Nor tinted leaves Just a modest hut
on the coast In the dusk of Autumn nightfall - Fujiwara no Teika(1162-1241)



Re: soap library performance

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
hi,

please post you client and server code so others could reproduce test results
and confirm them. you should also describe your hardware/software environment or
results are not very useful (how you compare 486 to 1Ghz PIII?).

there was some work done on profiling current soap apache but there was no
conclusion - except maybe that xerces is introducing quite of overhead (check
mail archives). also next version of apache soap called axis should have better
performance. also you may find interesting test results that we have done for
various soap implementations about a half yes ago at (and that includes source
code):

http://www.extreme.indiana.edu/soap/#perf

i plan to update those results for latest SoapRMI 1.1 (i have completely
rewritten it since 1.0 version) and apache soap (though apache soap did not
change).

thanks,

alek

Mark Bloore wrote:

> I have written a simple trial client and server using Apache SOAP 2.1.  They
> exchange a small amount of data (less than 5KB) in Strings and Vectors of
> String (and one Boolean).  The one user-defined object involved uses the
> Bean serializer and contains only String members.
> When my client does 100 loops it takes 60 seconds.
>
> I captured the output from the client, and wrote a fake client that simply
> sends that data to the server through a Socket, and discards the returned
> data without analysis.  Using TcpTunnelGui I verified that the correct SOAP
> data comes back.
> When my fake client does 100 loops it takes 3 seconds.
>
> It looks like the Apache SOAP library is terribly slow marshalling and
> unmarshalling data, and perhaps isn't too good at the I/O either.  I don't
> have any code instrumentation tools to figure out just where the time goes
> at lower levels.  I have used Windows' Perfmon to look at overall CPU and
> I/O use, and am not entirely sure how to interpret the results;  running the
> real client, both CPU use and I/O rate are low, as if they were waiting for
> each other, while with the fake client both are high.
>
> Running a client built (in VB) with Microsoft's SOAP toolkit beta 2 goes
> about 5 times faster than the Java/Apache client.  The server, by the way,
> is Tomcat 3.2.1.  I have also tried WebLogic 5.1 a few times, with similar
> results.  All this is with the server on a remote box.  If client and server
> are on the same box, things are faster, and WebLogic noticeably faster than
> Tomcat.
>
> Does anyone have any insights into Apache SOAP performance?  Is there
> anything I could do to speed it up?  (My client is closely modeled on the
> AddressBook example.)  Does the server have much to do with it?
>
> --
> mARK bLOORE <mb...@fmco.com>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: soap-user-unsubscribe@xml.apache.org
> For additional commands, email: soap-user-help@xml.apache.org

--
Aleksander Slominski, LH 316, IU, http://www.extreme.indiana.edu/~aslom
As I look afar I see neither cherry Nor tinted leaves Just a modest hut
on the coast In the dusk of Autumn nightfall - Fujiwara no Teika(1162-1241)



---------------------------------------------------------------------
To unsubscribe, e-mail: soap-user-unsubscribe@xml.apache.org
For additional commands, email: soap-user-help@xml.apache.org