Re: Axis2 performance and listener process construction

2007-05-03 Thread Sanjiva Weerawarana
Perhaps I can help .. on a Linux box multiple Java threads sometimes get 
listed as different processes using ps. Are you on a Linux box?


We do NOT create multiple processes for anything .. so what you're 
observing is some weird reporting of the threads in the system.


Now that doesn't give any explanation for why your second listener isn't 
gracefully going away after the interactions are over; it is most 
certainly supposed to!


Sanjiva.

Paul Fremantle wrote:

Toon

Two things:

1) you can modify the default Sandesha timing parameters by editing
the module.xml inside META-INF in sandesha2.mar. The default timing
parameters are:
RetransmissionInterval 6s (6000ms)
InactivityTimeout 60s

2) When you do setUseSeparateListener, Axis2 does not spawn a new
process. It spawns a thread. So I'm still confused as to what is going
on!.

Paul



On Wed, 2007-05-02 at 13:34 +0200, Toon Wouters wrote:
 Paul

 Thanks for your reply. You're right about the timing, seems there was
 a communication problem with my colleague, my appologies. I just tried
 it without Sandesha and it is indeed quite fast.

 To get back to the listener question what I mean is the seperate
 listener logic which comes with Axis2 to provide a seperate transport
 channel back from the server to the client to receive responses on (so
 you can receive asynchronous responses at any time for example). The
 listener process listens on port 6060 by default. The code to enable
 the seperate transport channel in java is:

 clientOptions.setUseSeparateListener(true);

 After which we set the options for our ServiceClient instance. Hopes
 this clarifies it.
 The reason i'm asking about this is because we're having some
 cleanup/rebinding issues with this process. Often when the client
 exits the listener process keeps running en suddenly goes berserk
 consuming all cpu time. This shows in windows task manager as a
 seperate java process.

 Toon

 On 5/2/07, Paul Fremantle [EMAIL PROTECTED] wrote:
 Toon

 I'm surprised you are getting those results. The Sandesha2
 code isn't
 tuned and the timing parameters are not optimized for fast
 exchange,
 but without Sandesha2 the Axis2 calls should take about 100ms
 for 10
 calls.

 Do you have some sample code I can try?

 Also I don't understand the comment about a separate process.
 As far
 as I know Axis2 and Sandesha never start new processes. Can
 you give
 us more details please?

 Paul



 On 5/2/07, T W [EMAIL PROTECTED] wrote:
  Hi, we're fairly new to Axis2 in general but lately we've
 been writing a
  small web service to test the Sandesha2 WS-RM stack with
 Axis2. We have
  however two questions:
 
  1. Is it normal that it takes about 15 seconds to make 10
 synchronous
  requests? We are just calling a simple Web service operation
 which takes 3
  integers as input parameters and returns an integer so the
 payload is never
  large. We have even looked at the requests and responses
 being sent/received
  on the wire and there is nothing out of the ordinary. To
 send our messages
  we're calling the sendReceive() method on the ServiceClient
 interface. The
  test is running locally (both sender and receiver) on a
 modern laptop (
  1.6ghz mobile). No special configuration of Axis2 has been
 done (besides
  Sandesha2, but even before adding that it was just as
 slow).
 
  2. Could anyone explain why when using a listener as a
 reponse channel this
  appears to be a seperate process? Is the process shared by
 multiple clients?
  And why did the developers not opt for a thread instead?
 When a request is
  made from the client side, does it also pass through the
 listening process
  (we're guessing no, as the listener is optional)? Does this
 have anything to
  do with reusing the same socket as a response channel for
 multiple clients?
 
  Those are just some of the things we've noticed, if someone
 could clarify
  this a little it would help us alot.
 
  Thanks,
  Toon
 


 --
 Paul Fremantle
 VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

 http://bloglines.com/blog/paulfremantle
 [EMAIL PROTECTED]

 Oxygenating the Web Service Platform, www.wso2.com

 
-

 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional 

Axis2 performance and listener process construction

2007-05-02 Thread T W

Hi, we're fairly new to Axis2 in general but lately we've been writing a
small web service to test the Sandesha2 WS-RM stack with Axis2. We have
however two questions:

1. Is it normal that it takes about 15 seconds to make 10 synchronous
requests? We are just calling a simple Web service operation which takes 3
integers as input parameters and returns an integer so the payload is never
large. We have even looked at the requests and responses being sent/received
on the wire and there is nothing out of the ordinary. To send our messages
we're calling the sendReceive() method on the ServiceClient interface. The
test is running locally (both sender and receiver) on a modern laptop (
1.6ghz mobile). No special configuration of Axis2 has been done (besides
Sandesha2, but even before adding that it was just as slow).

2. Could anyone explain why when using a listener as a reponse channel this
appears to be a seperate process? Is the process shared by multiple clients?
And why did the developers not opt for a thread instead? When a request is
made from the client side, does it also pass through the listening process
(we're guessing no, as the listener is optional)? Does this have anything to
do with reusing the same socket as a response channel for multiple clients?

Those are just some of the things we've noticed, if someone could clarify
this a little it would help us alot.

Thanks,
Toon


Re: Axis2 performance and listener process construction

2007-05-02 Thread Paul Fremantle

Toon

I'm surprised you are getting those results. The Sandesha2 code isn't
tuned and the timing parameters are not optimized for fast exchange,
but without Sandesha2 the Axis2 calls should take about 100ms for 10
calls.

Do you have some sample code I can try?

Also I don't understand the comment about a separate process. As far
as I know Axis2 and Sandesha never start new processes. Can you give
us more details please?

Paul



On 5/2/07, T W [EMAIL PROTECTED] wrote:

Hi, we're fairly new to Axis2 in general but lately we've been writing a
small web service to test the Sandesha2 WS-RM stack with Axis2. We have
however two questions:

1. Is it normal that it takes about 15 seconds to make 10 synchronous
requests? We are just calling a simple Web service operation which takes 3
integers as input parameters and returns an integer so the payload is never
large. We have even looked at the requests and responses being sent/received
on the wire and there is nothing out of the ordinary. To send our messages
we're calling the sendReceive() method on the ServiceClient interface. The
test is running locally (both sender and receiver) on a modern laptop (
1.6ghz mobile). No special configuration of Axis2 has been done (besides
Sandesha2, but even before adding that it was just as slow).

2. Could anyone explain why when using a listener as a reponse channel this
appears to be a seperate process? Is the process shared by multiple clients?
And why did the developers not opt for a thread instead? When a request is
made from the client side, does it also pass through the listening process
(we're guessing no, as the listener is optional)? Does this have anything to
do with reusing the same socket as a response channel for multiple clients?

Those are just some of the things we've noticed, if someone could clarify
this a little it would help us alot.

Thanks,
Toon




--
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

http://bloglines.com/blog/paulfremantle
[EMAIL PROTECTED]

Oxygenating the Web Service Platform, www.wso2.com

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Axis2 performance and listener process construction

2007-05-02 Thread Toon Wouters

Paul

Thanks for your reply. You're right about the timing, seems there was a
communication problem with my colleague, my appologies. I just tried it
without Sandesha and it is indeed quite fast.

To get back to the listener question what I mean is the seperate listener
logic which comes with Axis2 to provide a seperate transport channel back
from the server to the client to receive responses on (so you can receive
asynchronous responses at any time for example). The listener process
listens on port 6060 by default. The code to enable the seperate transport
channel in java is:

clientOptions.setUseSeparateListener(true);

After which we set the options for our ServiceClient instance. Hopes this
clarifies it.
The reason i'm asking about this is because we're having some
cleanup/rebinding issues with this process. Often when the client exits the
listener process keeps running en suddenly goes berserk consuming all cpu
time. This shows in windows task manager as a seperate java process.

Toon

On 5/2/07, Paul Fremantle [EMAIL PROTECTED] wrote:


Toon

I'm surprised you are getting those results. The Sandesha2 code isn't
tuned and the timing parameters are not optimized for fast exchange,
but without Sandesha2 the Axis2 calls should take about 100ms for 10
calls.

Do you have some sample code I can try?

Also I don't understand the comment about a separate process. As far
as I know Axis2 and Sandesha never start new processes. Can you give
us more details please?

Paul



On 5/2/07, T W [EMAIL PROTECTED] wrote:
 Hi, we're fairly new to Axis2 in general but lately we've been writing a
 small web service to test the Sandesha2 WS-RM stack with Axis2. We have
 however two questions:

 1. Is it normal that it takes about 15 seconds to make 10 synchronous
 requests? We are just calling a simple Web service operation which takes
3
 integers as input parameters and returns an integer so the payload is
never
 large. We have even looked at the requests and responses being
sent/received
 on the wire and there is nothing out of the ordinary. To send our
messages
 we're calling the sendReceive() method on the ServiceClient interface.
The
 test is running locally (both sender and receiver) on a modern laptop (
 1.6ghz mobile). No special configuration of Axis2 has been done (besides
 Sandesha2, but even before adding that it was just as slow).

 2. Could anyone explain why when using a listener as a reponse channel
this
 appears to be a seperate process? Is the process shared by multiple
clients?
 And why did the developers not opt for a thread instead? When a request
is
 made from the client side, does it also pass through the listening
process
 (we're guessing no, as the listener is optional)? Does this have
anything to
 do with reusing the same socket as a response channel for multiple
clients?

 Those are just some of the things we've noticed, if someone could
clarify
 this a little it would help us alot.

 Thanks,
 Toon



--
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

http://bloglines.com/blog/paulfremantle
[EMAIL PROTECTED]

Oxygenating the Web Service Platform, www.wso2.com

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Re: Axis2 performance and listener process construction

2007-05-02 Thread Michele Mazzucco
Toon,

as you said the listener uses port 6060 by default, but by providing a
custom configuration context you can change. Furthermore, you can use
the same configuration context across different ServiceClient(s) or even
use the same ServiceClient across different invocations.

Michele

On Wed, 2007-05-02 at 13:34 +0200, Toon Wouters wrote:
 Paul
 
 Thanks for your reply. You're right about the timing, seems there was
 a communication problem with my colleague, my appologies. I just tried
 it without Sandesha and it is indeed quite fast.
 
 To get back to the listener question what I mean is the seperate
 listener logic which comes with Axis2 to provide a seperate transport
 channel back from the server to the client to receive responses on (so
 you can receive asynchronous responses at any time for example). The
 listener process listens on port 6060 by default. The code to enable
 the seperate transport channel in java is: 
 
 clientOptions.setUseSeparateListener(true);
 
 After which we set the options for our ServiceClient instance. Hopes
 this clarifies it.
 The reason i'm asking about this is because we're having some
 cleanup/rebinding issues with this process. Often when the client
 exits the listener process keeps running en suddenly goes berserk
 consuming all cpu time. This shows in windows task manager as a
 seperate java process. 
 
 Toon
 
 On 5/2/07, Paul Fremantle [EMAIL PROTECTED] wrote:
 Toon
 
 I'm surprised you are getting those results. The Sandesha2
 code isn't
 tuned and the timing parameters are not optimized for fast
 exchange,
 but without Sandesha2 the Axis2 calls should take about 100ms
 for 10 
 calls.
 
 Do you have some sample code I can try?
 
 Also I don't understand the comment about a separate process.
 As far
 as I know Axis2 and Sandesha never start new processes. Can
 you give
 us more details please? 
 
 Paul
 
 
 
 On 5/2/07, T W [EMAIL PROTECTED] wrote:
  Hi, we're fairly new to Axis2 in general but lately we've
 been writing a
  small web service to test the Sandesha2 WS-RM stack with
 Axis2. We have 
  however two questions:
 
  1. Is it normal that it takes about 15 seconds to make 10
 synchronous
  requests? We are just calling a simple Web service operation
 which takes 3
  integers as input parameters and returns an integer so the
 payload is never 
  large. We have even looked at the requests and responses
 being sent/received
  on the wire and there is nothing out of the ordinary. To
 send our messages
  we're calling the sendReceive() method on the ServiceClient
 interface. The 
  test is running locally (both sender and receiver) on a
 modern laptop (
  1.6ghz mobile). No special configuration of Axis2 has been
 done (besides
  Sandesha2, but even before adding that it was just as
 slow). 
 
  2. Could anyone explain why when using a listener as a
 reponse channel this
  appears to be a seperate process? Is the process shared by
 multiple clients?
  And why did the developers not opt for a thread instead?
 When a request is 
  made from the client side, does it also pass through the
 listening process
  (we're guessing no, as the listener is optional)? Does this
 have anything to
  do with reusing the same socket as a response channel for
 multiple clients? 
 
  Those are just some of the things we've noticed, if someone
 could clarify
  this a little it would help us alot.
 
  Thanks,
  Toon
 
 
 
 --
 Paul Fremantle
 VP/Technology, WSO2 and OASIS WS-RX TC Co-chair 
 
 http://bloglines.com/blog/paulfremantle
 [EMAIL PROTECTED]
 
 Oxygenating the Web Service Platform, www.wso2.com
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Axis2 performance and listener process construction

2007-05-02 Thread Paul Fremantle

Toon

Two things:

1) you can modify the default Sandesha timing parameters by editing
the module.xml inside META-INF in sandesha2.mar. The default timing
parameters are:
RetransmissionInterval 6s (6000ms)
InactivityTimeout 60s

2) When you do setUseSeparateListener, Axis2 does not spawn a new
process. It spawns a thread. So I'm still confused as to what is going
on!.

Paul



On Wed, 2007-05-02 at 13:34 +0200, Toon Wouters wrote:
 Paul

 Thanks for your reply. You're right about the timing, seems there was
 a communication problem with my colleague, my appologies. I just tried
 it without Sandesha and it is indeed quite fast.

 To get back to the listener question what I mean is the seperate
 listener logic which comes with Axis2 to provide a seperate transport
 channel back from the server to the client to receive responses on (so
 you can receive asynchronous responses at any time for example). The
 listener process listens on port 6060 by default. The code to enable
 the seperate transport channel in java is:

 clientOptions.setUseSeparateListener(true);

 After which we set the options for our ServiceClient instance. Hopes
 this clarifies it.
 The reason i'm asking about this is because we're having some
 cleanup/rebinding issues with this process. Often when the client
 exits the listener process keeps running en suddenly goes berserk
 consuming all cpu time. This shows in windows task manager as a
 seperate java process.

 Toon

 On 5/2/07, Paul Fremantle [EMAIL PROTECTED] wrote:
 Toon

 I'm surprised you are getting those results. The Sandesha2
 code isn't
 tuned and the timing parameters are not optimized for fast
 exchange,
 but without Sandesha2 the Axis2 calls should take about 100ms
 for 10
 calls.

 Do you have some sample code I can try?

 Also I don't understand the comment about a separate process.
 As far
 as I know Axis2 and Sandesha never start new processes. Can
 you give
 us more details please?

 Paul



 On 5/2/07, T W [EMAIL PROTECTED] wrote:
  Hi, we're fairly new to Axis2 in general but lately we've
 been writing a
  small web service to test the Sandesha2 WS-RM stack with
 Axis2. We have
  however two questions:
 
  1. Is it normal that it takes about 15 seconds to make 10
 synchronous
  requests? We are just calling a simple Web service operation
 which takes 3
  integers as input parameters and returns an integer so the
 payload is never
  large. We have even looked at the requests and responses
 being sent/received
  on the wire and there is nothing out of the ordinary. To
 send our messages
  we're calling the sendReceive() method on the ServiceClient
 interface. The
  test is running locally (both sender and receiver) on a
 modern laptop (
  1.6ghz mobile). No special configuration of Axis2 has been
 done (besides
  Sandesha2, but even before adding that it was just as
 slow).
 
  2. Could anyone explain why when using a listener as a
 reponse channel this
  appears to be a seperate process? Is the process shared by
 multiple clients?
  And why did the developers not opt for a thread instead?
 When a request is
  made from the client side, does it also pass through the
 listening process
  (we're guessing no, as the listener is optional)? Does this
 have anything to
  do with reusing the same socket as a response channel for
 multiple clients?
 
  Those are just some of the things we've noticed, if someone
 could clarify
  this a little it would help us alot.
 
  Thanks,
  Toon
 


 --
 Paul Fremantle
 VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

 http://bloglines.com/blog/paulfremantle
 [EMAIL PROTECTED]

 Oxygenating the Web Service Platform, www.wso2.com

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

http://bloglines.com/blog/paulfremantle
[EMAIL PROTECTED]

Oxygenating the Web Service Platform, www.wso2.com

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]