axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ramanathan, Subramanyam" <>
Subject RE: [Axis2] Multithreaded client, performance degradation.
Date Wed, 31 May 2006 06:07:17 GMT

Regarding the jmeter test - I don't think that jmeter is sending the requests correctly, hence
the test is not valid.
I just chanced to look at catalina.out and found errors. Basically all the requests had failed
and returned SOAP faults. What I don't understand is why jmeter did not log them as errors.
I am attaching the error trace from catalina.out.

Actually I had encountered this error when I was trying out my http client too. I got this
error unless I set the "content-type" in the http header to "text/xml". At that time, I found
that changing the content-type to "text/xml" works, so I just went ahead.
Using tcpmon, I just looked at the http header of the request being sent by jmeter, and I
find that it sets "content-type" to null ! This seems to fine, again, in the case of axis1
- it does not seem to mind the content-type. But with axis2 I always observe this error unless
content-type is set to "text/xml" (Why ?)

So, I don't think testing axis2 with jmeter is valid. I am using the latest jmeter version,
2.1.1 . Please let me know if I am supposed to use some earlier version, or if something has
to be configured/setup for jmeter. I also tried to use jmeter's http requester, but I couldnt
find a way to set content-type to "text/xml".

Thanks and regards,

-----Original Message-----
From: Ramanathan, Subramanyam []
Sent: Tuesday, May 30, 2006 3:46 PM
Subject: RE: [Axis2] Multithreaded client, performance degradation.


I have just created an issue on jira with key AXIS2-780, and I have attached the code.

I did not know about jmeter earlier, so I decided to try testing it using jmeter also, using
an aggregate reporter.
However, I don't find a big variance in the throughput figures that it gets. These are the
values, I repeated the run three times for each number of threads.

loop count 1000
10 threads - 241, 243, 259
20 threads - 237, 229, 233
30 threads - 233, 230, 227
40 threads - 227, 231, 226

I don't know how exactly jmeter runs the test and calculates the throughput, and I don't know
if the overhead of the framework is levelling the figures out, because I got much larger values
for throughput, particularly for smaller number of threads.

My client spawns n number of threads, and each of them send r requests. 
My calculation was based on startTime taken before spawning threads, endTime taken after all
the threads are done, 
and reqPerSec  = ( n * r )*1000/(time diff in millisec). Is there a problem with this ?

I also did a test by spawning only 10 threads from a client at a time, but running the client
on multiple machines at once, 
and that gave me approximately the same figures, too.
Also I have used exactly the same client to post to axis1.

Thanks and Regards,

-----Original Message-----
From: Davanum Srinivas []
Sent: Monday, May 29, 2006 10:53 PM
Subject: Re: [Axis2] Multithreaded client, performance degradation.


I am just now running a jmeter based multithreaded test with
1,5,50,100,200 threads and i *definitely* don't see what u are seeing.
Could u please create a JIRA issue and upload both your service and
client code?

-- dims

On 5/29/06, Ramanathan, Subramanyam <> wrote:
> Hi,
> I've been running a few performance tests on Axis2 to compare it with Axis1.
> I've found that when I post requests using a multithreaded http client [ that spawns
multiple threads each sending a certain number of requests ] , the performance of Axis2 seems
to degrade, whereas that of Axis1 seems to be relatively stable when tested using the same
> Here are the figures I have got. Each thread sends 1000 requests.
> I have measured throughput by measuring the time taken for all the threads to finish
and then calculating requests per sec.
>                         Axis2(req/sec)          Axis1(req/sec)
>                         --------------          -----------
>     10 threads  - 1105.530784                   545.9761944
>     20 threads  - 635.3480599               556.6025772
>     30 threads  - 411.2374179             550.5108726
>     40 threads  - 215.8165598             570.8683581
> Apparently, as the number of threads increases, the performance drops in Axis2 whereas
it remains reasonably stable in Axis1.
> Can someone tell me the reason for this, and is there any way the performance with multiple
threads in Axis2 can be made better / stabilized ?
> My Setup:
> ---------
> Red Hat Enterprise Linux ES release 4
> Axis2 version 1.0
> Tomcat 5.5.17
> jdk 1.5.0_04
> Regards,
> Subramanyam
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

Davanum Srinivas :

To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message