You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Paul Mander <pa...@gmail.com> on 2010/06/02 09:21:53 UTC

Re: [Trinidad] Trinidad consuming 80-90% CPU


Were any conclusions reached relating to this issue. I have been drafted in
for an emergency issue that appears on the surface very similar. 

The tech stack is near identical - WAS 6.1 with Trinidad 1.0.8 and facelets.

The interesting factor in my problem is that the application is an uplift
from an older tech stack. The app was wunning on WAS 5.x ADF faces and using
jsp as the view declaration. After uplifting to Trinidad and WAS 6.1 and on
new hardware, the app appears to consume twice as much cpu.

There are a million things to check I know but around a dozen SME including
guys from IBM WebSphere support have been looking at this for nearly a week
now and have failed to find a solution.

Interestingly, I noticed that they configured facelets refresh period to but
after this was changed to -1 (and the facelets version uplighted due to a
concurrency issue) the cpu appeared to increase.

Any thoughts anyone. Looking specifically for the conclusion from the OP.

-- 
View this message in context: http://old.nabble.com/-Trinidad--Trinidad-consuming-80-90--CPU-tp27068136p28750989.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.


Re: AW: [Trinidad] Trinidad consuming 80-90% CPU

Posted by Paul Mander <pa...@gmail.com>.


Paul Mander wrote:
> 
> 
> A bit more profiling and a bit more googlnig shows that for "certain types
> of io: websphere s*cks". 
> 
> http://www-01.ibm.com/support/docview.wss?uid=swg21366862
> 
> You can disable this and this accounts for the extra...
> 

An just to confirm - diabling AIO and running my original test profiling
under WAS gives 629ms

Now, I have no idea if AIO would somehow become more important in a heavily
loaded system. But it is something else to test in the full environment.
Also to note, I am testing locally with WAS 6.1.0.15 and the AIX deployment
is 6.1.0.29. Therefore I have not confirmed if AIO has been fixed for the
.29 release anyway.

Just for the record it looks like most of the cpu disccrepency was propbably
accounted for by a -Xtrace flag slipping nito the configuration. I'll keep
everyone updated with the results.

-- 
View this message in context: http://old.nabble.com/-Trinidad--Trinidad-consuming-80-90--CPU-tp27068136p28752966.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.


Re: AW: [Trinidad] Trinidad consuming 80-90% CPU

Posted by Paul Mander <pa...@gmail.com>.

A bit more profiling and a bit more googlnig shows that for "certain types
of io: websphere s*cks". 

http://www-01.ibm.com/support/docview.wss?uid=swg21366862

You can disable this and this accounts for the extra...
-- 
View this message in context: http://old.nabble.com/-Trinidad--Trinidad-consuming-80-90--CPU-tp27068136p28752812.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.


Re: AW: [Trinidad] Trinidad consuming 80-90% CPU

Posted by Paul Mander <pa...@gmail.com>.


Paul Mander wrote:
> 
> WAS test: 32,577ms
> Tomcat test: 439ms
> 
> Going to turn off the filter for the trinidad classes and see where the
> WAS CPU is giong.
> 
> 

Correction: After looing into the reasons why websphere was taking all the
CPU, I found that my WAS profile was configured to output trace level
details to a log file for all jsf packages (a previous do to with encoding
characters on a PPR request). The corrected results are as follows:

WAS test: 26315ms
Tomcat test: 439ms

Now, enabling tracing of any classes in the packages org.apache.myfaces.*
shows a baseline for tomcat executing (chagned its JDK to WAS JDK to try and
keep as many things the same as possible) of 22885ms.

This is much higher than the 439ms as profiling all these classes takes
time. Running the test with the exact same profiling but ni WAS gives 46668
(more than double).

now for the org.apache.myfaces.* packages

WAS: 22869
Tomcat: 22092

Which for arguments sake are identica. But, we have 24576 unaccounted for in
WAS as an overhead that is currently being filtered.




-- 
View this message in context: http://old.nabble.com/-Trinidad--Trinidad-consuming-80-90--CPU-tp27068136p28752758.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.


Re: AW: [Trinidad] Trinidad consuming 80-90% CPU

Posted by Paul Mander <pa...@gmail.com>.
There is a common denominator here - WebSphere 6.1. I've jusr created a
simple app that has 2 pages. The first page uses a hierarchy of 3 templates
and has 3 subforms on the page each with 10 check boxes on them. Clicking a
checkbox on a subform will PPR all checkboxes on that particular form.
There's a command button on the page that goes to another page with (again 3
templates in the hierarchy) and 10 input text components. 

I run a test that goes 

1) load the first page
2) click on checkbox 1 subform 1
3) click on checkbox 1 subform 2
4) click on checkbox 1 subform 3
5) click on command button (goes to page 2)
6) enter text in all input fields
7) click command button to go back to page 1
8) repeat 2-7 3 times

I run the test once to warm any caches and I run it in a WAs 6.1 profile on
a wnidow box and a Tomcat 6 install also on the same windows box.

I profile both apps with the default excludes (which exclude everything for
this test) and just measure the CPU (totally filtered).

WAS test: 32,577ms
Tomcat test: 439ms

Going to turn off the filter for the trinidad classes and see where the WAS
CPU is giong.

-- 
View this message in context: http://old.nabble.com/-Trinidad--Trinidad-consuming-80-90--CPU-tp27068136p28751922.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.


AW: AW: [Trinidad] Trinidad consuming 80-90% CPU

Posted by Eisenträger, Tobias <To...@arag.de>.
> 
> That's put an end to my search for performance fixes in a later 1.0.x
> release then. How can you be on 1.0.13? That isn't release? Perhaps you
> are
> actually on 1.2.13 as this would allign with your faces 1.2
> implementation.
Yes, that is correct - it's 1.2.13
> That then begs the question of how you aer using JSF 1.2 on websphere.
> 
You can override the libs in Websphere - you have to set the classloader to PARENT_LAST. We do that in the EAR File for the war module. (You can change the behaviour from the administration console as well I think)

When you do that you can include the myfaces jsf jar and it will overwrite the standard JSF which comes with websphere.

If it helps, you can find below a list of libraries we use:

activation 1.1
commons-beanutils 1.7.0
commoms-codec 1.3
commons-collections 3.2
commons-digester 1.8
commons-discovery 0.4
commons-fileupload 1.2.1
commons-lang 2.4
jsf-facelets 1.1.14
jstl 1.2
mail 1.4.1
myfaces-api 1.2.8
myfaces-impl 1.2.8
tomahawk12 1.1.9
trinidad-api 1.2.13
trinidad-impl 1.2.13

Re: AW: [Trinidad] Trinidad consuming 80-90% CPU

Posted by Paul Mander <pa...@gmail.com>.


Eisenträger, Tobias wrote:
> 
> Hello Paul,
> 
> We are also very interested in this Problem. We have a Trinidad
> application which uses a lot more CPU then expected (Compared to an old
> Servlet app with same functionality it already uses more CPU with 30 test
> users then old system with hundreds of users).
> 
> Our platform is Mainframe, WAS 6.1, Trinidad 1.0.13, Myfaces 1.2.8
> 
> There must be specific settings in the WAS or Java runtime which need
> tweaking. Might this be a problem on IBM's side?
> 
> Cheers,
> 
> Tobias
> 
> 

That's put an end to my search for performance fixes in a later 1.0.x
release then. How can you be on 1.0.13? That isn't release? Perhaps you are
actually on 1.2.13 as this would allign with your faces 1.2 implementation.
That then begs the question of how you aer using JSF 1.2 on websphere.

-- 
View this message in context: http://old.nabble.com/-Trinidad--Trinidad-consuming-80-90--CPU-tp27068136p28751130.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.


AW: [Trinidad] Trinidad consuming 80-90% CPU

Posted by Eisenträger, Tobias <To...@arag.de>.
Hello Paul,

We are also very interested in this Problem. We have a Trinidad application which uses a lot more CPU then expected (Compared to an old Servlet app with same functionality it already uses more CPU with 30 test users then old system with hundreds of users).

Our platform is Mainframe, WAS 6.1, Trinidad 1.0.13, Myfaces 1.2.8

There must be specific settings in the WAS or Java runtime which need tweaking. Might this be a problem on IBM's side?

Cheers,

Tobias


> -----Ursprüngliche Nachricht-----
> Von: Paul Mander [mailto:paul.s.mander@gmail.com]
> Gesendet: Mittwoch, 2. Juni 2010 09:22
> An: users@myfaces.apache.org
> Betreff: Re: [Trinidad] Trinidad consuming 80-90% CPU
> 
> 
> 
> Were any conclusions reached relating to this issue. I have been drafted
> in
> for an emergency issue that appears on the surface very similar.
> 
> The tech stack is near identical - WAS 6.1 with Trinidad 1.0.8 and
> facelets.
> 
> The interesting factor in my problem is that the application is an uplift
> from an older tech stack. The app was wunning on WAS 5.x ADF faces and
> using
> jsp as the view declaration. After uplifting to Trinidad and WAS 6.1 and
> on
> new hardware, the app appears to consume twice as much cpu.
> 
> There are a million things to check I know but around a dozen SME
> including
> guys from IBM WebSphere support have been looking at this for nearly a
> week
> now and have failed to find a solution.
> 
> Interestingly, I noticed that they configured facelets refresh period to
> but
> after this was changed to -1 (and the facelets version uplighted due to a
> concurrency issue) the cpu appeared to increase.
> 
> Any thoughts anyone. Looking specifically for the conclusion from the OP.
> 
> --
> View this message in context: http://old.nabble.com/-Trinidad--Trinidad-
> consuming-80-90--CPU-tp27068136p28750989.html
> Sent from the MyFaces - Users mailing list archive at Nabble.com.