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 Danushka Seneviratne <da...@gmail.com> on 2013/04/13 14:24:39 UTC

Improve Axis2 JAX-WS performance

Dear Sir/Madam,


While searching a GSoC project idea, I got to know about Axis2 project
having potential opportunity to work on its JAX-WS implementation.
According to the facts I gathered, I have created a JIRA issue here
https://issues.apache.org/jira/browse/AXIS2-5509. As foremost objective I'm
planning to find bottlenecks of Axis2 JAX-WS framework and suggest possible
solutions during the project period. I have some experience about JAX-WS
programming model but it is based on Metro framework on JBoss server.
During recent past I tried to develop few Axis2 based JAX-WS services and
managed to run set of basic samples. I'm much obliged if someone can guide
me to find out a direction.


Thanks in advance


Danushka Seneviratne

Re: Improve Axis2 JAX-WS performance

Posted by Danushka Seneviratne <da...@gmail.com>.
 Dear Sagara,

Thanks a lot for your mail and provided details. I will study them and will
try to follow the same path. I will send an another mail once I make
progress on initial steps.

Thanks in advance

Danushka Seneviratne


On Sat, Apr 13, 2013 at 7:09 PM, Sagara Gunathunga <
sagara.gunathunga@gmail.com> wrote:

>
>
> On Sat, Apr 13, 2013 at 5:54 PM, Danushka Seneviratne <
> danushkagsoc13@gmail.com> wrote:
>
>> Dear Sir/Madam,
>>
>>
>> While searching a GSoC project idea, I got to know about Axis2 project
>> having potential opportunity to work on its JAX-WS implementation.
>> According to the facts I gathered, I have created a JIRA issue here
>> https://issues.apache.org/jira/browse/AXIS2-5509. As foremost objective
>> I'm planning to find bottlenecks of Axis2 JAX-WS framework and suggest
>> possible solutions during the project period. I have some experience about
>> JAX-WS programming model but it is based on Metro framework on JBoss
>> server. During recent past I tried to develop few Axis2 based JAX-WS
>> services and managed to run set of basic samples. I'm much obliged if
>> someone can guide me to find out a direction.
>>
>
> Sometimes back I did a profiling to identify performance issues of JAX-WS
> implementation you can read what I found from here [1]. Based on my
> findings I started to write improved version of JAX-WS but couldn't manage
> to make much progress with my time restrictions, basically I wrote a custom
> MethodMarshaller[2] and plugged into the existing architecture. I'm not
> sure where I put those codes but I will try to find them so that you can
> take a look.
>
> If you really want to make this idea into GSoC project then it's required
> to understand issues on current architecture first but this depends on of
> how well you understand the architecture of existing implementation. My
> recommendation is spend some time initially and come up with detail
> proposal and detailed plan mentioning these are the identified issues and
> these are the possible ways of solution etc. Any way you have to be quick
> on preparation of this project. Hope this helps you to start your first
> step if you need further helps don't hesitate to contact this list.
>
> [1] - http://markmail.org/thread/7pww6veepr77kzuq
> [2] -
> http://axis.apache.org/axis2/java/core/api/org/apache/axis2/jaxws/marshaller/MethodMarshaller.html
>
> Thanks !
>
>
>>
>> Thanks in advance
>>
>>
>> Danushka Seneviratne
>>
>>
>
>
> --
> Sagara Gunathunga
>
> Blog      - http://ssagara.blogspot.com
> Web      - http://people.apache.org/~sagara/
> LinkedIn - http://www.linkedin.com/in/ssagara

RE: Improve Axis2 JAX-WS performance

Posted by Martin Gainty <mg...@hotmail.com>.
google-code implements guice as the main Injector but previously I've used 
Plexus Injector specifically for injecting annotated artifacts via Plexus Framework in Maven
Spring Injector specifically for injecting annotated artifacts via Spring Framework
If you are working in 'Google Summer Of Code' there is an *assumption* that you will use guice for your injector

SAX is an event driven way of constructing DOM Objects 'on the fly' vs DOM where you the whole Document prior to usage..
SAX was created for situations where on the fly construction of your DOM can be achieved based on known 'events'
DOM always works..but you are  beholden to construct the entire DOM Document prior to usage

http://en.wikipedia.org/wiki/Simple_API_for_XML

Statics are artifacts of what used to be  called global variables..They are not ThreadLocal statics are generally considered by the Heap Manager as the last objects to be collected 

Concerning JAX-WS not alot you can do take a look at
http://www.mkyong.com/webservices/jax-ws/jax-ws-hello-world-example-document-style/
 
Refactoring statics in main is not available
the only path I can suggest is to implement JavaProfiler and HTTP Profiler and determine

1)who or what is consuming the most amount of memory
2)can the transmitted information be 
 2a)compressed OR
 2b)reduced in some matter
 
Run the code thru a Profiler to determine who is consuming the most memory
 
http://www.ej-technologies.com/products/jprofiler/overview.html
http://www.quest.com/jprobe/
http://www.purescm.com/services-solutionmenu-49/enterprise-a-infrastructure-solutionmenu-114/ca-wily-introscope-solutionmenu-171
 
Wily has rules for thresholds for timeout which is a good tool for determining which service is 
taking excessive time

Keep us apprised,

Martin Gainty 
______________________________________________ 
Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité

Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.

Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni.


  




Date: Sun, 14 Apr 2013 23:25:58 +0530
Subject: Re: Improve Axis2 JAX-WS performance
From: danushkagsoc13@gmail.com
To: java-dev@axis.apache.org


Dear Martin, 


Thanks a lot for your  mail, is it possible you to provide some references about your project ideas ? I'm still new to this area and still couldn't understand  your suggestions.  




Thanks in advance


Danushka Seneviratne  




On Sun, Apr 14, 2013 at 4:40 AM, Martin Gainty <mg...@hotmail.com> wrote:



2 ideas

refactor the statics..statics are notorious candidates for PermGen
refactor n{repeated set of statements} into common functions

are there any caveats to using GSoC ?

 'must use guice'?
can you implement DOM over SAX?
 
keep us apprised,

Martin 
______________________________________________ 
Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité

Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.

Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni.

 




From: sagara.gunathunga@gmail.com
Date: Sat, 13 Apr 2013 19:09:52 +0530
Subject: Re: Improve Axis2 JAX-WS performance
To: java-dev@axis.apache.org 






On Sat, Apr 13, 2013 at 5:54 PM, Danushka Seneviratne <da...@gmail.com> wrote:




Dear Sir/Madam,


While searching a GSoC project idea, I got to know about Axis2 project having potential opportunity to work on its JAX-WS implementation. According to the facts I gathered, I have created a JIRA issue here https://issues.apache.org/jira/browse/AXIS2-5509. As foremost objective I'm planning to find bottlenecks of Axis2 JAX-WS framework and suggest possible solutions during the project period. I have some experience about JAX-WS programming model but it is based on Metro framework on JBoss server. During recent past I tried to develop few Axis2 based JAX-WS services and managed to run set of basic samples. I'm much obliged if someone can guide me to find out a direction.
 
Sometimes back I did a profiling to identify performance issues of JAX-WS implementation you can read what I found from here [1]. Based on my findings I started to write improved version of JAX-WS but couldn't manage to make much progress with my time restrictions, basically I wrote a custom MethodMarshaller[2] and plugged into the existing architecture. I'm not sure where I put those codes but I will try to find them so that you can take a look. 

If you really want to make this idea into GSoC project then it's required to understand issues on current architecture first but this depends on of how well you understand the architecture of existing implementation. My recommendation is spend some time initially and come up with detail proposal and detailed plan mentioning these are the identified issues and these are the possible ways of solution etc. Any way you have to be quick on preparation of this project. Hope this helps you to start your first step if you need further helps don't hesitate to contact this list. 

[1] - http://markmail.org/thread/7pww6veepr77kzuq
[2] - http://axis.apache.org/axis2/java/core/api/org/apache/axis2/jaxws/marshaller/MethodMarshaller.html

Thanks !           
 




Thanks in advance



Danushka Seneviratne 



-- 
Sagara Gunathunga

Blog      - http://ssagara.blogspot.com
Web      - http://people.apache.org/~sagara/
LinkedIn - http://www.linkedin.com/in/ssagara
 		 	   		  

Re: Improve Axis2 JAX-WS performance

Posted by Danushka Seneviratne <da...@gmail.com>.
Dear Martin,

Thanks a lot for your  mail, is it possible you to provide some references
about your project ideas ? I'm still new to this area and still
couldn't understand  your suggestions.


Thanks in advance

Danushka Seneviratne


On Sun, Apr 14, 2013 at 4:40 AM, Martin Gainty <mg...@hotmail.com> wrote:

> 2 ideas
>
> refactor the statics..statics are notorious candidates for PermGen
> refactor n{repeated set of statements} into common functions
>
> are there any caveats to using GSoC ?
>
>  'must use guice'?
> can you implement DOM over SAX?
>
> keep us apprised,
>
> Martin
> ______________________________________________
> Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité
>
> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte
> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht
> dient lediglich dem Austausch von Informationen und entfaltet keine
> rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von
> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
>
> Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni.
>
>
>
>
> ------------------------------
> From: sagara.gunathunga@gmail.com
> Date: Sat, 13 Apr 2013 19:09:52 +0530
> Subject: Re: Improve Axis2 JAX-WS performance
> To: java-dev@axis.apache.org
>
>
>
>
> On Sat, Apr 13, 2013 at 5:54 PM, Danushka Seneviratne <
> danushkagsoc13@gmail.com> wrote:
>
> Dear Sir/Madam,
>
>
> While searching a GSoC project idea, I got to know about Axis2 project
> having potential opportunity to work on its JAX-WS implementation.
> According to the facts I gathered, I have created a JIRA issue here
> https://issues.apache.org/jira/browse/AXIS2-5509. As foremost objective
> I'm planning to find bottlenecks of Axis2 JAX-WS framework and suggest
> possible solutions during the project period. I have some experience about
> JAX-WS programming model but it is based on Metro framework on JBoss
> server. During recent past I tried to develop few Axis2 based JAX-WS
> services and managed to run set of basic samples. I'm much obliged if
> someone can guide me to find out a direction.
>
>
> Sometimes back I did a profiling to identify performance issues of JAX-WS
> implementation you can read what I found from here [1]. Based on my
> findings I started to write improved version of JAX-WS but couldn't manage
> to make much progress with my time restrictions, basically I wrote a custom
> MethodMarshaller[2] and plugged into the existing architecture. I'm not
> sure where I put those codes but I will try to find them so that you can
> take a look.
>
> If you really want to make this idea into GSoC project then it's required
> to understand issues on current architecture first but this depends on of
> how well you understand the architecture of existing implementation. My
> recommendation is spend some time initially and come up with detail
> proposal and detailed plan mentioning these are the identified issues and
> these are the possible ways of solution etc. Any way you have to be quick
> on preparation of this project. Hope this helps you to start your first
> step if you need further helps don't hesitate to contact this list.
>
> [1] - http://markmail.org/thread/7pww6veepr77kzuq
> [2] -
> http://axis.apache.org/axis2/java/core/api/org/apache/axis2/jaxws/marshaller/MethodMarshaller.html
>
> Thanks !
>
>
>
> Thanks in advance
>
>
> Danushka Seneviratne
>
>
>
>
> --
> Sagara Gunathunga
>
> Blog      - http://ssagara.blogspot.com
> Web      - http://people.apache.org/~sagara/
> LinkedIn - http://www.linkedin.com/in/ssagara
>

RE: Improve Axis2 JAX-WS performance

Posted by Martin Gainty <mg...@hotmail.com>.
2 ideas
refactor the statics..statics are notorious candidates for PermGen
refactor n{repeated set of statements} into common functions
are there any caveats to using GSoC ?
 'must use guice'?
can you implement DOM over SAX? keep us apprised,

Martin 
______________________________________________ 
Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité

Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni.

 From: sagara.gunathunga@gmail.com
Date: Sat, 13 Apr 2013 19:09:52 +0530
Subject: Re: Improve Axis2 JAX-WS performance
To: java-dev@axis.apache.org



On Sat, Apr 13, 2013 at 5:54 PM, Danushka Seneviratne <da...@gmail.com> wrote:


Dear Sir/Madam,


While searching a GSoC project idea, I got to know about Axis2 project having potential opportunity to work on its JAX-WS implementation. According to the facts I gathered, I have created a JIRA issue here https://issues.apache.org/jira/browse/AXIS2-5509. As foremost objective I'm planning to find bottlenecks of Axis2 JAX-WS framework and suggest possible solutions during the project period. I have some experience about JAX-WS programming model but it is based on Metro framework on JBoss server. During recent past I tried to develop few Axis2 based JAX-WS services and managed to run set of basic samples. I'm much obliged if someone can guide me to find out a direction.

 
Sometimes back I did a profiling to identify performance issues of JAX-WS implementation you can read what I found from here [1]. Based on my findings I started to write improved version of JAX-WS but couldn't manage to make much progress with my time restrictions, basically I wrote a custom MethodMarshaller[2] and plugged into the existing architecture. I'm not sure where I put those codes but I will try to find them so that you can take a look. 



If you really want to make this idea into GSoC project then it's required to understand issues on current architecture first but this depends on of how well you understand the architecture of existing implementation. My recommendation is spend some time initially and come up with detail proposal and detailed plan mentioning these are the identified issues and these are the possible ways of solution etc. Any way you have to be quick on preparation of this project. Hope this helps you to start your first step if you need further helps don't hesitate to contact this list. 



[1] - http://markmail.org/thread/7pww6veepr77kzuq
[2] - http://axis.apache.org/axis2/java/core/api/org/apache/axis2/jaxws/marshaller/MethodMarshaller.html



Thanks !           
 


Thanks in advance



Danushka Seneviratne 







-- 
Sagara Gunathunga

Blog      - http://ssagara.blogspot.com
Web      - http://people.apache.org/~sagara/


LinkedIn - http://www.linkedin.com/in/ssagara 		 	   		  

Re: Improve Axis2 JAX-WS performance

Posted by Sagara Gunathunga <sa...@gmail.com>.
On Sat, Apr 13, 2013 at 5:54 PM, Danushka Seneviratne <
danushkagsoc13@gmail.com> wrote:

> Dear Sir/Madam,
>
>
> While searching a GSoC project idea, I got to know about Axis2 project
> having potential opportunity to work on its JAX-WS implementation.
> According to the facts I gathered, I have created a JIRA issue here
> https://issues.apache.org/jira/browse/AXIS2-5509. As foremost objective
> I'm planning to find bottlenecks of Axis2 JAX-WS framework and suggest
> possible solutions during the project period. I have some experience about
> JAX-WS programming model but it is based on Metro framework on JBoss
> server. During recent past I tried to develop few Axis2 based JAX-WS
> services and managed to run set of basic samples. I'm much obliged if
> someone can guide me to find out a direction.
>

Sometimes back I did a profiling to identify performance issues of JAX-WS
implementation you can read what I found from here [1]. Based on my
findings I started to write improved version of JAX-WS but couldn't manage
to make much progress with my time restrictions, basically I wrote a custom
MethodMarshaller[2] and plugged into the existing architecture. I'm not
sure where I put those codes but I will try to find them so that you can
take a look.

If you really want to make this idea into GSoC project then it's required
to understand issues on current architecture first but this depends on of
how well you understand the architecture of existing implementation. My
recommendation is spend some time initially and come up with detail
proposal and detailed plan mentioning these are the identified issues and
these are the possible ways of solution etc. Any way you have to be quick
on preparation of this project. Hope this helps you to start your first
step if you need further helps don't hesitate to contact this list.

[1] - http://markmail.org/thread/7pww6veepr77kzuq
[2] -
http://axis.apache.org/axis2/java/core/api/org/apache/axis2/jaxws/marshaller/MethodMarshaller.html

Thanks !


>
> Thanks in advance
>
>
> Danushka Seneviratne
>
>


-- 
Sagara Gunathunga

Blog      - http://ssagara.blogspot.com
Web      - http://people.apache.org/~sagara/
LinkedIn - http://www.linkedin.com/in/ssagara