You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Eran Chinthaka <er...@gmail.com> on 2008/08/20 06:33:37 UTC

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

Re: [Axis2] Tips on improving Axis2 client performance

Posted by Jaliya Ekanayake <jn...@gmail.com>.
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