axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jaliya Ekanayake" <jnekanay...@gmail.com>
Subject Re: [Axis2] Tips on improving Axis2 client performance
Date Thu, 21 Aug 2008 05:13:57 GMT
Hi Eran,

Probably you are doing some performance measures :)

I also have used the REUSE_HTTP_CLIENT option to reuse the httpclient object.

I had the following trouble when I did some tests sometimes back. Here is the scenario.

You want to invoke one or more web services using few clients or client threads. 
All these operations are request/response operations which uses two separate transport connections
for the request and the response.
As you know, we use SimpleAxisServer in client side to receive the responses.

Now the problem is, SimpleAxisServer does not handle threads well and when the services start
responding you will not get some of them.
I am not sure if this problem is fixed in new code. If it is fixed, please ignore this.


Thanks,
Jaliya






 
  ----- Original Message ----- 
  From: Eran Chinthaka 
  To: axis-dev@ws.apache.org 
  Sent: Wednesday, August 20, 2008 12:33 AM
  Subject: Re: [Axis2] Tips on improving Axis2 client performance



  (Sorry my GMail, screwed up and sent this mail prematurely )

  Hi Experts, 

  Axis2 has now come to a state where people use it within their research projects. One of
the problems they often encounter is Axis2's client thread-safety. As we all know our stubs
are not thread-safe. One can not start multiple threads and use the same thread. This we consider
as a feature and not a bug and I have no issue with it. 

  So the option is to use multiple stubs with different threads. BUT .... there are things
that we can tweak to improve the performance even with these restrictions. 

  Even if some one is 

  1. invoking multiple Web services with two (or more) stubs, within the same JVM or
  2. invoking two separate operations with the same stub

  these tweaks might be useful.

  One of the tricks I can think of is to share HTTPClient instances across multiple invocations,
using REUSE_HTTP_CLIENT property. What other things we can do to improve client performance?


  I am thinking of aggregating all these in to one place so that everyone will be benefited.
Your insigts to this is greatly appreciated. 

  -- 
  With Mettha,
  Eran Chinthaka

  --------------------------------------------------------------------
  Health is the greatest gift; contentment is the greatest wealth; trusting is the best relationship;
nirvana is the highest joy. - Dhammapada

Mime
View raw message