axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Rees <dree...@gmail.com>
Subject Re: Axis2 Performance Tips
Date Tue, 05 May 2009 20:33:01 GMT
On Tue, May 5, 2009 at 1:29 AM, ibrahim demir <ibrahimdemire@yahoo.com> wrote:
> I woner if there is performance tips and tricks guide for Axis2. I have
> tried to optimize my sevice and tried to make it simpler in order to have
> fast response but I believe that is not enough.

Yes, there are a number of things you can do to speed up Axis2.
However, are you creating a web service or are you accessing a web
service?

I haven't focused on web service performance, as it seems to be pretty
good already, but if you are using axis2 as a client there are a
number of things you can do.

> So can you share your experiences or tips here on performance optimizations
> about Axis2. For example using the
> HTTPConstants.REUSE_HTTP_CLIENT
> HTTPConstants.CACHED_HTTP_CLIENT
>
> options has an effect on performance or not?

These options definitely make a difference in performance especially
if you are accessing services on a high latency network in rapid
succession.

Some of the things I do:

1. Use Commons-Pool to maintain a pool of Stubs.  Stub creation is expensive!
2. For each stub, set REUSE_HTTP_CLIENT to true and CACHED_HTTP_CLIENT
to your own cached HttpClient.
3. For each HttpClient, you will likely want to increase the
DefaultMaxConnections and MaxTotalConnections using your own
MultiThreadedHttpConnectionManager.  In addition, also make sure you
set the Version to HTTP_1_1 of your HttpClient, too.

IMO Axis2 should provide a framework for doing all of those things
easily by default.  Perhaps I will contribute some code when I get
some time to abstract it out. :-)

-Dave

Mime
View raw message