Hi David; Thanks for the tips. That was what I really wanted to see here. Sharing these informations are much more valuable than referencing to the guides.
I am on the both side. I am serving some services and calling some .NET services also. But what I want to speed is the client side. I will start searching over the internet for implementing your offers till you share some sample code :) Yours. Ibrahim DEMIR CyberSoft Yazilim Muh. http://www.ibrahimdemir.org ________________________________ From: David Rees <[email protected]> To: [email protected] Sent: Tuesday, May 5, 2009 11:33:01 PM Subject: Re: Axis2 Performance Tips On Tue, May 5, 2009 at 1:29 AM, ibrahim demir <[email protected]> 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
