axis-java-user mailing list archives

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

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,
Subramanyam

-----Original Message-----
From: Ramanathan, Subramanyam [mailto:sramanathan@c-cor.com]
Sent: Tuesday, May 30, 2006 3:46 PM
To: axis-user@ws.apache.org; dims@apache.org
Subject: RE: [Axis2] Multithreaded client, performance degradation.


Hi,

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,
Subramanyam


-----Original Message-----
From: Davanum Srinivas [mailto:davanum@gmail.com]
Sent: Monday, May 29, 2006 10:53 PM
To: axis-user@ws.apache.org
Subject: Re: [Axis2] Multithreaded client, performance degradation.


Subramanyam,

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 <sramanathan@c-cor.com> 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
client.
>
> 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: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>


-- 
Davanum Srinivas : http://wso2.com/blogs/

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Mime
View raw message