Hi all,

I'm running a simple web service which receives a string from the
client, processes it and returns an array of custom objects (nothing
complicated, they're just data holders containing a few ints, strings
and booleans). While the actual serverside processing performed by my
server code is performed very fast, the response times from the server
are very large and seem to be linear in the number of returned objects.

A short example: if I send a string to the server which results in 0
objects being returned, the response from the server is received just a
few milliseconds after the request is made. If the string is modified
such that it returns one object, that increases to 8 seconds, and if it
returns two objects it increases to 16 seconds. In all cases, I can see
that the actual processing takes less than a second, so the web service
java code that I've deployed is handling the requests quickly.

All responses are small in size - the largest is ~900 bytes (so I can't
imagine that it's an XML transformation issue). Using packet sniffers, I
can see that the delay definitely is occurring on the server side (for
the last example, I could see the POST packet going to the server, and
then the response packet coming back 16 seconds later). Going by client
and server log timings, I can see that the delay occurs after processing
rather than before.

I'm running axis2 1.5.1 with default settings, have tested it running on
both the bundled SimpleAxisServer and Tomcat (both on a Debian server)
and am using a very simple client based on code auto-generated by axis
from the WSDL (running in Windows).

Does anybody here have any clue as to what's causing the delays? It
seems clear enough that it's something in the internal axis2 system, but
as I'm quite new to axis2 I'm having difficulties locating the issue.

Best wishes,
Martin Gerner

Reply via email to