You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@xml.apache.org by Rich Johns <rj...@vignette.com> on 2000/10/04 18:20:34 UTC

Performance

nt4.0
apache-soap 1.2

I ran some simple performance tests. The service provider is a local
java class. The client is a browser based jsp. The browser and the
servlet engine are on the same machine. Oh, and the timings include the
trace output overhead from the RPCRouterServlet.

1) Get a String: 32 milliseconds
2) Put a String: 16 milliseconds
3) ping (call with no args and no return):  15 milliseconds

One thing to note is that the numbers vary quite a bit,
sometimes much higher, and I'm not sure how to account
for the swings. But, in all cases, the Get String is always
significantly higher than the Put String.

Does anyone know why returning a string takes appreciably longer
than putting a string?

Thanks.


Re: Performance

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
Rich Johns wrote:

> Does anyone know why returning a string takes appreciably longer
> than putting a string?

is the time that you are measuring round-trip time?

in this scenario you probably have following steps:

  1. client: serialize (marshall) SOAP envelope
  2. client: send to serialized envelope to server
  3. server: deserialize (unmarshall) SOAP envelope
  4. server: create response SOAP envelope
  5. server: serialize
  6. server: send to client
  7. client: deserialize

therefore there are two serializations and deserializations and if you do put or get the same string then round-trip times for put and get should be almost the same. could you post test files that you used?

we have done some instrumentation of our sample SOAP implementation and we found that for good performance it is crucial to implement as efficient deserializer as possible and overlap serialization/sending with receiving/deserialization, see http://www.extreme.indiana.edu/soap/sc00/paper/node12.html http://www.extreme.indiana.edu/soap/sc00/paper/figures/gant.gif http://www.extreme.indiana.edu/soap/sc00/paper/node13.html (tests are available at http://www.extreme.indiana.edu/soap/#download)

best,

alek
--
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: Performance

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
Rich Johns wrote:

> Does anyone know why returning a string takes appreciably longer
> than putting a string?

is the time that you are measuring round-trip time?

in this scenario you probably have following steps:

  1. client: serialize (marshall) SOAP envelope
  2. client: send to serialized envelope to server
  3. server: deserialize (unmarshall) SOAP envelope
  4. server: create response SOAP envelope
  5. server: serialize
  6. server: send to client
  7. client: deserialize

therefore there are two serializations and deserializations and if you do put or get the same string then round-trip times for put and get should be almost the same. could you post test files that you used?

we have done some instrumentation of our sample SOAP implementation and we found that for good performance it is crucial to implement as efficient deserializer as possible and overlap serialization/sending with receiving/deserialization, see http://www.extreme.indiana.edu/soap/sc00/paper/node12.html http://www.extreme.indiana.edu/soap/sc00/paper/figures/gant.gif http://www.extreme.indiana.edu/soap/sc00/paper/node13.html (tests are available at http://www.extreme.indiana.edu/soap/#download)

best,

alek
--
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: Performance

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
Rich Johns wrote:

> Does anyone know why returning a string takes appreciably longer
> than putting a string?

is the time that you are measuring round-trip time?

in this scenario you probably have following steps:

  1. client: serialize (marshall) SOAP envelope
  2. client: send to serialized envelope to server
  3. server: deserialize (unmarshall) SOAP envelope
  4. server: create response SOAP envelope
  5. server: serialize
  6. server: send to client
  7. client: deserialize

therefore there are two serializations and deserializations and if you do put or get the same string then round-trip times for put and get should be almost the same. could you post test files that you used?

we have done some instrumentation of our sample SOAP implementation and we found that for good performance it is crucial to implement as efficient deserializer as possible and overlap serialization/sending with receiving/deserialization, see http://www.extreme.indiana.edu/soap/sc00/paper/node12.html http://www.extreme.indiana.edu/soap/sc00/paper/figures/gant.gif http://www.extreme.indiana.edu/soap/sc00/paper/node13.html (tests are available at http://www.extreme.indiana.edu/soap/#download)

best,

alek
--
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: Performance

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
Rich Johns wrote:

> Does anyone know why returning a string takes appreciably longer
> than putting a string?

is the time that you are measuring round-trip time?

in this scenario you probably have following steps:

  1. client: serialize (marshall) SOAP envelope
  2. client: send to serialized envelope to server
  3. server: deserialize (unmarshall) SOAP envelope
  4. server: create response SOAP envelope
  5. server: serialize
  6. server: send to client
  7. client: deserialize

therefore there are two serializations and deserializations and if you do put or get the same string then round-trip times for put and get should be almost the same. could you post test files that you used?

we have done some instrumentation of our sample SOAP implementation and we found that for good performance it is crucial to implement as efficient deserializer as possible and overlap serialization/sending with receiving/deserialization, see http://www.extreme.indiana.edu/soap/sc00/paper/node12.html http://www.extreme.indiana.edu/soap/sc00/paper/figures/gant.gif http://www.extreme.indiana.edu/soap/sc00/paper/node13.html (tests are available at http://www.extreme.indiana.edu/soap/#download)

best,

alek
--
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)