Re: Axis2 performance and listener process construction
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
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
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
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
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
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]