Matthias, I did not hear back from the company you recommended. Can you
check with them?

Richard, after a painful 2 days, I was able to make the demo work on my
machine. The results are that trinidad is still taking most of the time. It
is consuming 4 times more CPU than java.* classes. Also from the demo
classes (org.apache.trinidaddemo.* ), only one of them showed up, rest did
not consume enough CPU to show up on my monitor. The only difference in
these results is that HTML output classes are triumphing the getProperty()
methods. This indicates that in case of demo, html is being generated by
java classes and they consume significant resources.

Here are comparitive CPU consumption:
java.* classes - 4006
javax.faces.* - 1847
org.apache.myfaces.trinidad.internal.* - 17167
org.apache.myfaces.trinidaddemo.* - 16

Also, the top CPU consuming classes are below. Other than html output, my
results are still consistent.

org.apache.myfaces.trinidadinternal.io.HTMLEscapes.writeAttribute(Writer
char[ ] String)    875
java.io.Writer.write(int)    688
org.apache.myfaces.trinidadinternal.io.HtmlResponseWriter._closeStartIfNecessary()
641
org.apache.myfaces.trinidadinternal.io.HtmlResponseWriter.write(int)    562
java.lang.String.charAt(int)    547
org.apache.myfaces.trinidadinternal.io.HtmlResponseWriter._markPendingElements()
484
org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(PropertyKey)
469
org.apache.myfaces.trinidad.bean.FacesBeanImpl.getLocalPropertyImpl(PropertyKey)
453
org.apache.myfaces.trinidadinternal.io.HTMLEscapes._addToBuffer(Writer char[
] int int char)    438
java.io.Writer.write(String)    406
java.util.Map.get(Object)    359
org.apache.myfaces.trinidad.bean.PropertyMap.get(Object)    359
org.apache.myfaces.trinidad.bean.FacesBeanImpl.getValueBinding(PropertyKey)
344
org.apache.myfaces.trinidad.bean.util.FlaggedPropertyMap.get(Object)    344
org.apache.myfaces.trinidad.bean.FacesBean.getProperty(PropertyKey)    328
org.apache.myfaces.trinidad.bean.FacesBeanImpl._checkNotListKey(PropertyKey)
266
org.apache.myfaces.trinidad.bean.FacesBeanImpl.getLocalProperty(PropertyKey)
266


On Tue, Jan 12, 2010 at 7:18 PM, Richard Yee <richard.k....@gmail.com>wrote:

> http://myfaces.apache.org/trinidad/download.html
>
> trinidad-1.0.11-example.zip<
> http://www.apache.org/dyn/closer.cgi/myfaces/binaries/trinidad-1.0.11-example.zip
> >
>
> I'm not sure if the 1.0.11 version has any incompatibilities with 1.0.7. If
> you can't find one that works with 1.0.7, email me offline and I will mail
> the one I have to you.
>
> -Richard
>
>
>
> On Tue, Jan 12, 2010 at 2:31 PM, Ravi Kapoor <ravikapoor...@gmail.com
> >wrote:
>
> > That is an excellent suggestion Richard. Can you point me to the
> > application
> > you mentioned (I am on trinidad 1.0.7)
> >
> > Thanks
> >
> >
> > On Tue, Jan 12, 2010 at 4:58 PM, Richard Yee <richard.k....@gmail.com
> > >wrote:
> >
> > > One suggestion that I would make is to run the Trinidad example
> > application
> > > and examine the behavior.
> > >
> > > -Richard
> > >
> > >
> > >
> > > On Tue, Jan 12, 2010 at 11:00 AM, Matthias Wessendorf <
> mat...@apache.org
> > > >wrote:
> > >
> > > > I contacted Ravi already offline
> > > >
> > > > -M
> > > >
> > > > On Tue, Jan 12, 2010 at 7:59 PM, Jan-Kees van Andel
> > > >  <jankeesvanan...@gmail.com> wrote:
> > > > > Apache officially doesn't provide support, see:
> > > > > http://httpd.apache.org/docs/1.3/misc/FAQ.html#support
> > > > > But you can try to contact a commercial company that does provide
> > > > support.
> > > > >
> > > > > It's an issue Apache can't really help you with.
> > > > >
> > > > > Depending on where you're located, it shouldn't be very hard to
> find
> > > > > Trinidad experience. There are a lot of followers on this list, so
> > > > > maybe...?
> > > > >
> > > > > Regards,
> > > > > Jan-Kees
> > > > >
> > > > >
> > > > > 2010/1/12 Ravi Kapoor <ravikapoor...@gmail.com>:
> > > > >> I found that link as well 10 seconds ago and was going to email
> you
> > > :).
> > > > Yes
> > > > >> you are right, I cannot run this app in tomcat, this is enterprise
> > app
> > > > with
> > > > >> tons of dependency on websphere.
> > > > >>
> > > > >> Anyways, how can I get onsite support? Who provides such support?
> > > > Apache?
> > > > >> Can you send me contact info or a link?
> > > > >>
> > > > >> Thanks
> > > > >> Ravi
> > > > >>
> > > > >> On Tue, Jan 12, 2010 at 1:28 PM, Jan-Kees van Andel <
> > > > >> jankeesvanan...@gmail.com> wrote:
> > > > >>
> > > > >>> Hrm, it looks like the IBM JVM doesn't support VisualVM. See:
> > > > >>>
> > > >
> > http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14210263
> > > > >>> Sorry. It would be nice if it worked.
> > > > >>> You're probably not able to run your app on i.e. Tomcat, JBoss or
> > > > >>> Glassfish, just for testing? If you are, things are easier.
> > > > >>>
> > > > >>> But I'm afraid we're not solving problems here. I think you'd
> > better
> > > > >>> look for on-site support...
> > > > >>>
> > > > >>> /JK
> > > > >>>
> > > > >>>
> > > > >>> 2010/1/12 Ravi Kapoor <ravikapoor...@gmail.com>:
> > > > >>> > Jan-Kees, thanks for this info. I got the settings in order.
> But
> > I
> > > am
> > > > >>> having
> > > > >>> > another problem.
> > > > >>> >
> > > > >>> > When I launch the server from within RAD, VisualVM is not able
> to
> > > > detect
> > > > >>> the
> > > > >>> > process at all. Can you tell me what do I need to do so
> VisualVM
> > > can
> > > > >>> detect
> > > > >>> > my server so that I can get profiling information for my
> classes?
> > > > >>> >
> > > > >>> >
> > > > >>> >
> > > > >>> > On Tue, Jan 12, 2010 at 10:02 AM, Jan-Kees van Andel <
> > > > >>> > jankeesvanan...@gmail.com> wrote:
> > > > >>> >
> > > > >>> >> Hey Ravi,
> > > > >>> >>
> > > > >>> >> First you need to connect to your server. If that's done,
> > > depending
> > > > on
> > > > >>> >> the type of connection, profiling becomes possible (AFAIK
> local
> > > > >>> >> applications always work, but JMX based connections don't).
> > > > >>> >> If profiling is possible, you should see a Profiler tab. In
> the
> > > > >>> >> Profiler tab, on the right you can see a checkbox called
> > > "settings".
> > > > >>> >> Check it.
> > > > >>> >>
> > > > >>> >> In the first textarea, called: "Start profiling from classes",
> > > enter
> > > > >>> >> the following:
> > > > >>> >> javax.faces.**
> > > > >>> >> org.apache.myfaces.**
> > > > >>> >> com.yourcompany.**
> > > > >>> >>
> > > > >>> >> The other settings should be ok, or maybe you need to apply
> some
> > > > >>> >> additional filter to prevent OOME's.
> > > > >>> >>
> > > > >>> >> When done, you can hit the Profile button and start generating
> > > load
> > > > on
> > > > >>> >> your webapp. Note the small button in the Profiler tab to
> create
> > > > >>> >> snapshots. This is a useful one, because you have extra
> > profiling
> > > > >>> >> features on snapshots that aren't available on the realtime
> > data.
> > > > >>> >>
> > > > >>> >> Note: It might be smart to increase the max heap size in
> > > > >>> >> [VISUALVM_HOME]/etc/visualvm.conf. 512MB should be enough (
> > > > -J-Xmx512m
> > > > >>> >> ).
> > > > >>> >>
> > > > >>> >> I hope these steps work for you and maybe a different graph
> > gives
> > > > some
> > > > >>> >> more insight...
> > > > >>> >>
> > > > >>> >> Regards,
> > > > >>> >> Jan-Kees
> > > > >>> >>
> > > > >>> >>
> > > > >>> >> 2010/1/12 Ravi Kapoor <ravikapoor...@gmail.com>:
> > > > >>> >> > Oh I see what you are saying. We only create and populate
> the
> > > > hashmap
> > > > >>> >> once,
> > > > >>> >> > we never clear or delete from it. So that endless loop is
> not
> > > the
> > > > >>> >> problem.
> > > > >>> >> > Also in that case the CPU wouldnt show up for org.apache.*
> > > > classes.
> > > > >>> >> >
> > > > >>> >> > I guess you are looking for how to specify packages in
> > VisualVM.
> > > > This
> > > > >>> >> would
> > > > >>> >> > give me another point of reference to validate my numbers.
> > > > >>> >> >
> > > > >>> >> > - Ravi
> > > > >>> >> >
> > > > >>> >> >
> > > > >>> >> > On Mon, Jan 11, 2010 at 6:00 PM, Jakob Korherr <
> > > > >>> jakob.korh...@gmail.com
> > > > >>> >> >wrote:
> > > > >>> >> >
> > > > >>> >> >> Ravi,
> > > > >>> >> >>
> > > > >>> >> >> To your question: Can you explain little bit how lack of
> > > > >>> synchronization
> > > > >>> >> >> can
> > > > >>> >> >> add to CPU?
> > > > >>> >> >>
> > > > >>> >> >> I don't know exactly, but maybe it is possible that the
> > > internal
> > > > >>> >> structure
> > > > >>> >> >> of a Map (e.g. HashMap) can be destroyed when there are
> > > multiple
> > > > >>> change
> > > > >>> >> >> operations (put, remove, clear) at the same time, because
> of
> > > lack
> > > > of
> > > > >>> >> >> synchronization. But that's really just a guess!
> > > > >>> >> >>
> > > > >>> >> >> Regards,
> > > > >>> >> >> Jakob
> > > > >>> >> >>
> > > > >>> >> >> 2010/1/11 Ravi Kapoor <ravikapoor...@gmail.com>
> > > > >>> >> >>
> > > > >>> >> >> > Jakob,
> > > > >>> >> >> >
> > > > >>> >> >> > I did install VisualVM but it is not capturing
> org.apache.*
> > > > classes
> > > > >>> or
> > > > >>> >> >> > com.mycompany.* classes. I did not find a setting on how
> to
> > > > enable
> > > > >>> >> >> > capturing
> > > > >>> >> >> > data for all the classes I want. Can you tell me where to
> > > > specity
> > > > >>> the
> > > > >>> >> >> > packages for which I want to capture CPU usage?
> > > > >>> >> >> >
> > > > >>> >> >> > Vinay
> > > > >>> >> >> >
> > > > >>> >> >> >
> > > > >>> >> >> > On Mon, Jan 11, 2010 at 4:05 PM, Ravi Kapoor <
> > > > >>> ravikapoor...@gmail.com
> > > > >>> >> >> > >wrote:
> > > > >>> >> >> >
> > > > >>> >> >> > > Jakob,
> > > > >>> >> >> > >
> > > > >>> >> >> > > The beans are not big. Also these tests have been
> > performed
> > > > under
> > > > >>> a
> > > > >>> >> >> > single
> > > > >>> >> >> > > user to measure the CPU timing. So I doubt
> > > > >>> locking/synchronization
> > > > >>> >> is
> > > > >>> >> >> an
> > > > >>> >> >> > > issue.
> > > > >>> >> >> > >
> > > > >>> >> >> > > I would think that if there is synchronization, then
> the
> > > > threads
> > > > >>> >> could
> > > > >>> >> >> be
> > > > >>> >> >> > > waiting for long time, but lack of synchronization can
> > only
> > > > lead
> > > > >>> to
> > > > >>> >> >> > corrupt
> > > > >>> >> >> > > data not to higher CPU. Can you explain little bit how
> > lack
> > > > of
> > > > >>> >> >> > > synchronization can add to CPU?
> > > > >>> >> >> > >
> > > > >>> >> >> > > I have never used VisualVM, I can try it sometime this
> > > week.
> > > > I am
> > > > >>> >> >> > assuming
> > > > >>> >> >> > > it will work with Websphere 6.1
> > > > >>> >> >> > >
> > > > >>> >> >> > > Regards
> > > > >>> >> >> > > Ravi
> > > > >>> >> >> > >
> > > > >>> >> >> > >
> > > > >>> >> >> > > On Mon, Jan 11, 2010 at 3:03 PM, Jan-Kees van Andel <
> > > > >>> >> >> > > jankeesvanan...@gmail.com> wrote:
> > > > >>> >> >> > >
> > > > >>> >> >> > >> Hi Ravi,
> > > > >>> >> >> > >>
> > > > >>> >> >> > >> Just a stupid question. Are your beans extremely big?
> > > Since
> > > > >>> >> FacesBean
> > > > >>> >> >> > >> doesn't do much locking/synchronizing (none if I'm
> > > > correctly),
> > > > >>> the
> > > > >>> >> >> > >> only reason I can imagine it to eat CPU cycles is
> > because
> > > of
> > > > its
> > > > >>> >> >> > >> size...
> > > > >>> >> >> > >>
> > > > >>> >> >> > >> Also, is it possible for you to do a profiling run
> using
> > > > >>> VisualVM?
> > > > >>> >> >> > >> I've been profiling Trinidad with VisualVM myself and
> > > maybe
> > > > we
> > > > >>> can
> > > > >>> >> >> > >> compare numbers... Using the same tool might make it
> > > easier
> > > > to
> > > > >>> >> >> > >> compare...
> > > > >>> >> >> > >>
> > > > >>> >> >> > >> /JK
> > > > >>> >> >> > >>
> > > > >>> >> >> > >>
> > > > >>> >> >> > >> 2010/1/11 Ravi Kapoor <ravikapoor...@gmail.com>:
> > > > >>> >> >> > >> > I am thinking if that was the case, I would see high
> > CPU
> > > > in
> > > > >>> >> >> > >> > java.util.HashMap instead of org.apache.faces.*
> > > > >>> >> >> > >> >
> > > > >>> >> >> > >> > If you disagree, please explain and I can try using
> > > > HashTable
> > > > >>> to
> > > > >>> >> >> store
> > > > >>> >> >> > >> data
> > > > >>> >> >> > >> > and get fresh numbers.
> > > > >>> >> >> > >> >
> > > > >>> >> >> > >> >
> > > > >>> >> >> > >> > On Mon, Jan 11, 2010 at 10:00 AM, Jakob Korherr <
> > > > >>> >> >> > >> jakob.korh...@gmail.com>wrote:
> > > > >>> >> >> > >> >
> > > > >>> >> >> > >> >> Maybe it happens when accessing the value from the
> > Map
> > > > with
> > > > >>> >> >> > >> >> "#{bean.get['memid']}", because the Map is not
> > properly
> > > > >>> >> >> synchronized,
> > > > >>> >> >> > >> thus
> > > > >>> >> >> > >> >> its internal structure is broken and thus it is
> > running
> > > > in
> > > > >>> >> infinite
> > > > >>> >> >> > >> loops.
> > > > >>> >> >> > >> >>
> > > > >>> >> >> > >> >> Are your resources properly synchronized?
> > > > >>> >> >> > >> >>
> > > > >>> >> >> > >> >> Just a guess in the blue...
> > > > >>> >> >> > >> >>
> > > > >>> >> >> > >> >> Regards,
> > > > >>> >> >> > >> >> Jakob Korherr
> > > > >>> >> >> > >> >>
> > > > >>> >> >> > >> >> 2010/1/11 Ravi Kapoor <ravikapoor...@gmail.com>
> > > > >>> >> >> > >> >>
> > > > >>> >> >> > >> >> > Another thing, most of our EL expressions are one
> > of
> > > > the
> > > > >>> >> >> following
> > > > >>> >> >> > >> types
> > > > >>> >> >> > >> >> >
> > > > >>> >> >> > >> >> > "#{bean.active}"
> > > > >>> >> >> > >> >> > or
> > > > >>> >> >> > >> >> > "#{bean.get['memid']}"
> > > > >>> >> >> > >> >> >
> > > > >>> >> >> > >> >> > Parsing of these expressions probably happens
> > within
> > > > >>> >> >> > >> org.apache.myfaces.*
> > > > >>> >> >> > >> >> > classes. These are fairly basic EL expressions
> and
> > > > should
> > > > >>> not
> > > > >>> >> be
> > > > >>> >> >> > >> taking
> > > > >>> >> >> > >> >> > much
> > > > >>> >> >> > >> >> > time. We know, the final getter method is not
> > taking
> > > > much
> > > > >>> >> time.
> > > > >>> >> >> > >> >> >
> > > > >>> >> >> > >> >> > Do you know if the page (and EL expressions) are
> > > parsed
> > > > >>> each
> > > > >>> >> time
> > > > >>> >> >> a
> > > > >>> >> >> > >> page
> > > > >>> >> >> > >> >> is
> > > > >>> >> >> > >> >> > rendered? If pages are parsed only once, then the
> > > > parsing
> > > > >>> time
> > > > >>> >> >> > should
> > > > >>> >> >> > >> >> also
> > > > >>> >> >> > >> >> > be almost negligible.
> > > > >>> >> >> > >> >> >
> > > > >>> >> >> > >> >> > - Ravi
> > > > >>> >> >> > >> >> >
> > > > >>> >> >> > >> >> > On Mon, Jan 11, 2010 at 8:28 AM, Ravi <
> > > > >>> >> ravikapoor...@gmail.com>
> > > > >>> >> >> > >> wrote:
> > > > >>> >> >> > >> >> >
> > > > >>> >> >> > >> >> > >
> > > > >>> >> >> > >> >> > > Matthias,
> > > > >>> >> >> > >> >> > >
> > > > >>> >> >> > >> >> > > If the issue is in bean, it should show up in
> my
> > > > >>> analysis.
> > > > >>> >> Also
> > > > >>> >> >> > >> >> > getProperty
> > > > >>> >> >> > >> >> > > is only 40% CPU, there is additional 45% cpu
> > > consumed
> > > > by
> > > > >>> >> rest
> > > > >>> >> >> of
> > > > >>> >> >> > >> the
> > > > >>> >> >> > >> >> > > trinidad classes totaling 85% total CPU, all
> > within
> > > > >>> >> >> > >> >> org.apache.myfaces.*
> > > > >>> >> >> > >> >> > > classes
> > > > >>> >> >> > >> >> > >
> > > > >>> >> >> > >> >> > > Ravi
> > > > >>> >> >> > >> >> > >
> > > > >>> >> >> > >> >> > >
> > > > >>> >> >> > >> >> > >
> > > > >>> >> >> > >> >> > > Matthias Wessendorf wrote:
> > > > >>> >> >> > >> >> > >
> > > > >>> >> >> > >> >> > >> Ravi,
> > > > >>> >> >> > >> >> > >>
> > > > >>> >> >> > >> >> > >> spoke to a guy that does performance
> > > > testing/improvement
> > > > >>> >> for
> > > > >>> >> >> > >> Oracle
> > > > >>> >> >> > >> >> > >> Applications. He said that there is some % CPU
> > in
> > > > >>> Trindad
> > > > >>> >> but
> > > > >>> >> >> I
> > > > >>> >> >> > >> would
> > > > >>> >> >> > >> >> > >> not give it more them 20%. The heavy hitters
> is
> > > > >>> getClientId
> > > > >>> >> >> > (Blake
> > > > >>> >> >> > >> -
> > > > >>> >> >> > >> >> > >> see dev@ thread - is doing some optimization
> > > > there).
> > > > >>> >> >> > >> >> > >>
> > > > >>> >> >> > >> >> > >> Now if getProperty is some el expression and
> > > > expression
> > > > >>> is
> > > > >>> >> >> > >> expensive
> > > > >>> >> >> > >> >> > >> the problem is in expression not in Trinidad
> > > > (perhaps
> > > > >>> that
> > > > >>> >> is
> > > > >>> >> >> > the
> > > > >>> >> >> > >> case
> > > > >>> >> >> > >> >> > >> where you have el epression but beans behind
> it
> > > are
> > > > not
> > > > >>> >> that
> > > > >>> >> >> > >> good).
> > > > >>> >> >> > >> >> > >>
> > > > >>> >> >> > >> >> > >> -Matthias
> > > > >>> >> >> > >> >> > >>
> > > > >>> >> >> > >> >> > >> On Mon, Jan 11, 2010 at 6:45 AM, Ravi Kapoor <
> > > > >>> >> >> > >> ravikapoor...@gmail.com
> > > > >>> >> >> > >> >> >
> > > > >>> >> >> > >> >> > >> wrote:
> > > > >>> >> >> > >> >> > >>
> > > > >>> >> >> > >> >> > >>> Hi Jan-Kees,
> > > > >>> >> >> > >> >> > >>>
> > > > >>> >> >> > >> >> > >>> You are right, the getProperty method is only
> > > > taking 2K
> > > > >>> >> >> units.
> > > > >>> >> >> > >> >> However
> > > > >>> >> >> > >> >> > if
> > > > >>> >> >> > >> >> > >>> I
> > > > >>> >> >> > >> >> > >>> dig deeper, I find that most of the
> cumulative
> > > time
> > > > is
> > > > >>> >> being
> > > > >>> >> >> > >> spent
> > > > >>> >> >> > >> >> > within
> > > > >>> >> >> > >> >> > >>> Trinidad classes. The final call to java
> > getters
> > > > >>> consumes
> > > > >>> >> >> > >> negligible
> > > > >>> >> >> > >> >> > >>> time.
> > > > >>> >> >> > >> >> > >>>
> > > > >>> >> >> > >> >> > >>> I was unable to create thread structure like
> > you
> > > > showed
> > > > >>> >> >> (JProbe
> > > > >>> >> >> > >> keeps
> > > > >>> >> >> > >> >> > >>> getting crashed). But I took another
> screenshot
> > > > that
> > > > >>> shows
> > > > >>> >> >> > almost
> > > > >>> >> >> > >> >> > similar
> > > > >>> >> >> > >> >> > >>> details you are looking for. It highlights
> the
> > > > classes
> > > > >>> >> that
> > > > >>> >> >> are
> > > > >>> >> >> > >> >> taking
> > > > >>> >> >> > >> >> > >>> maximum time (cumulative time again) but as
> you
> > > can
> > > > >>> see,
> > > > >>> >> all
> > > > >>> >> >> > the
> > > > >>> >> >> > >> >> > classes
> > > > >>> >> >> > >> >> > >>> are
> > > > >>> >> >> > >> >> > >>> just trinidad classes.
> > > > >>> >> >> > >> >> > >>>
> > > > >>> >> >> > >> >> > >>>
> > > > >>> >> >> > >> >> >
> > > > >>> >> >> > >> >>
> > > > >>> >> >> > >>
> > > > >>> >> >> >
> > > > >>> >> >>
> > > > >>> >>
> > > > >>>
> > > >
> > >
> >
> http://docs.google.com/Doc?docid=0AbuQsSDG0X9_ZGhraHFwejJfNGRjcGNiN2hk&hl=en
> > > > >>> >> >> > >> >> > >>>
> > > > >>> >> >> > >> >> > >>> Regards,
> > > > >>> >> >> > >> >> > >>> Ravi
> > > > >>> >> >> > >> >> > >>>
> > > > >>> >> >> > >> >> > >>> On Sun, Jan 10, 2010 at 12:54 PM, Jan-Kees
> van
> > > > Andel <
> > > > >>> >> >> > >> >> > >>> jankeesvanan...@gmail.com> wrote:
> > > > >>> >> >> > >> >> > >>>
> > > > >>> >> >> > >> >> > >>>  Hey Ravi,
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> > >>>> Looking at your JProbe screenshots for the
> > > second
> > > > >>> time, I
> > > > >>> >> >> > think
> > > > >>> >> >> > >> >> you're
> > > > >>> >> >> > >> >> > >>>> misinterpreting the graphs (but I haven't
> used
> > > > JProbe
> > > > >>> >> >> before,
> > > > >>> >> >> > so
> > > > >>> >> >> > >> I
> > > > >>> >> >> > >> >> > >>>> might be mistaking ;-) ).
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> > >>>> In your first screenshot (upper left corner)
> > you
> > > > can
> > > > >>> see
> > > > >>> >> the
> > > > >>> >> >> > >> total
> > > > >>> >> >> > >> >> > >>>> time the getProperty method takes.
> > > > >>> >> >> > >> >> > >>>> This includes its self time and the time
> taken
> > > by
> > > > its
> > > > >>> >> >> > children.
> > > > >>> >> >> > >> Its
> > > > >>> >> >> > >> >> > >>>> self time is 2781 and the child time is
> 29609.
> > > > >>> >> >> > >> >> > >>>> A large portion (around 85%) comes from the
> > > > >>> >> getLocalProperty
> > > > >>> >> >> > and
> > > > >>> >> >> > >> >> > >>>> ValueBinding.getValue methods.
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> > >>>> However, these two methods don't do much,
> > since
> > > > they
> > > > >>> >> >> delegate
> > > > >>> >> >> > to
> > > > >>> >> >> > >> >> other
> > > > >>> >> >> > >> >> > >>>> methods to do the real work. Maybe even
> > invoking
> > > > >>> >> application
> > > > >>> >> >> > >> code,
> > > > >>> >> >> > >> >> > >>>> like managed beans.
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> > >>>> Can you provide a more detailed call tree
> with
> > > > more
> > > > >>> info
> > > > >>> >> >> about
> > > > >>> >> >> > >> the
> > > > >>> >> >> > >> >> > >>>> child methods that are invoked? I'm
> especially
> > > > >>> interested
> > > > >>> >> in
> > > > >>> >> >> > the
> > > > >>> >> >> > >> >> > >>>> methods that are called by getLocalProperty
> > and
> > > > >>> >> >> > >> >> ValueBinding.getValue
> > > > >>> >> >> > >> >> > >>>> and their children. I'm not that familiar
> with
> > > > JProbe,
> > > > >>> >> but
> > > > >>> >> >> I'm
> > > > >>> >> >> > >> sure
> > > > >>> >> >> > >> >> it
> > > > >>> >> >> > >> >> > >>>> supports something like a call tree
> > > > >>> >> >> > >> >> > >>>> (
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> >
> > > > >>> >> >> > >> >>
> > > > >>> >> >> > >>
> > > > >>> >> >> >
> > > > >>> >> >>
> > > > >>> >>
> > > > >>>
> > > >
> > >
> >
> http://www.ej-technologies.com/products/jprofiler/images/whatsnew/exceptional_methods_calltree.png
> > > > >>> >> >> > >> >> > >>>> ),
> > > > >>> >> >> > >> >> > >>>> so you can see the problematic method.
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> > >>>> Regards,
> > > > >>> >> >> > >> >> > >>>> Jan-Kees
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> > >>>> 2010/1/10 Ravi <ravikapoor...@gmail.com>:
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> > >>>>> Matthias, I think websphere 6.1 does not
> > > support
> > > > JSF
> > > > >>> >> 1.2. I
> > > > >>> >> >> > >> will
> > > > >>> >> >> > >> >> > >>>>> doublecheck, let me know if this is
> > incorrect.
> > > > This
> > > > >>> mans
> > > > >>> >> I
> > > > >>> >> >> > >> cannot
> > > > >>> >> >> > >> >> try
> > > > >>> >> >> > >> >> > >>>>> trinidad version 1.2.12
> > > > >>> >> >> > >> >> > >>>>>
> > > > >>> >> >> > >> >> > >>>>> I will try out 1.0.11 release, but that is
> a
> > > > minor
> > > > >>> >> release
> > > > >>> >> >> > >> update
> > > > >>> >> >> > >> >> and
> > > > >>> >> >> > >> >> > I
> > > > >>> >> >> > >> >> > >>>>> seriously doubt if it will fix such a
> > > performance
> > > > >>> issue.
> > > > >>> >> >> > >> >> > >>>>>
> > > > >>> >> >> > >> >> > >>>>> What other options do we have? Is there a
> way
> > > we
> > > > can
> > > > >>> get
> > > > >>> >> >> > >> somebody
> > > > >>> >> >> > >> >> > >>>>>
> > > > >>> >> >> > >> >> > >>>> familiar
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> > >>>>> with trinidad architecture/code to look at
> > this
> > > > >>> issue?
> > > > >>> >> This
> > > > >>> >> >> > can
> > > > >>> >> >> > >> >> even
> > > > >>> >> >> > >> >> > be
> > > > >>> >> >> > >> >> > >>>>> a
> > > > >>> >> >> > >> >> > >>>>> paid assignment.
> > > > >>> >> >> > >> >> > >>>>>
> > > > >>> >> >> > >> >> > >>>>> Regards
> > > > >>> >> >> > >> >> > >>>>> Ravi
> > > > >>> >> >> > >> >> > >>>>>
> > > > >>> >> >> > >> >> > >>>>>
> > > > >>> >> >> > >> >> > >>>>> Matthias Wessendorf wrote:
> > > > >>> >> >> > >> >> > >>>>>
> > > > >>> >> >> > >> >> > >>>>>> Hello Ravi,
> > > > >>> >> >> > >> >> > >>>>>>
> > > > >>> >> >> > >> >> > >>>>>> I wonder what our last release for JSF 1.1
> > > > (1.0.11)
> > > > >>> >> does?
> > > > >>> >> >> > >> >> > >>>>>>
> > > > >>> >> >> > >> >> > >>>>>> Not sure, perhaps you may also try the JSF
> > 1.2
> > > > >>> version
> > > > >>> >> ?
> > > > >>> >> >> > >> (1.2.12)
> > > > >>> >> >> > >> >> > >>>>>> The JSF 1.2 version is the one that is
> best
> > > > >>> supported,
> > > > >>> >> >> these
> > > > >>> >> >> > >> days.
> > > > >>> >> >> > >> >> > >>>>>>
> > > > >>> >> >> > >> >> > >>>>>> Trinidad 2.0 is now in alpha stage, and I
> > can
> > > > >>> >> understand
> > > > >>> >> >> > that
> > > > >>> >> >> > >> you
> > > > >>> >> >> > >> >> > >>>>>> don't want to update on that version, now
> > > > >>> >> >> > >> >> > >>>>>>
> > > > >>> >> >> > >> >> > >>>>>> -Matthias
> > > > >>> >> >> > >> >> > >>>>>>
> > > > >>> >> >> > >> >> > >>>>>> On Sun, Jan 10, 2010 at 4:56 AM, Ravi <
> > > > >>> >> >> > >> ravikapoor...@gmail.com>
> > > > >>> >> >> > >> >> > >>>>>> wrote:
> > > > >>> >> >> > >> >> > >>>>>>
> > > > >>> >> >> > >> >> > >>>>>>> Scott, we do not have CPUs available. The
> > > time
> > > > >>> >> trinidad
> > > > >>> >> >> is
> > > > >>> >> >> > >> >> > consuming
> > > > >>> >> >> > >> >> > >>>>>>> is
> > > > >>> >> >> > >> >> > >>>>>>> supposed to be doing some other work.
> Hence
> > > > this is
> > > > >>> >> >> costing
> > > > >>> >> >> > >> us
> > > > >>> >> >> > >> >> real
> > > > >>> >> >> > >> >> > >>>>>>> dollars
> > > > >>> >> >> > >> >> > >>>>>>> and hence our time and effort to resolve
> > > this.
> > > > >>> >> >> > >> >> > >>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>> This is not initial hit of page. I always
> > > > ignore
> > > > >>> the
> > > > >>> >> >> first
> > > > >>> >> >> > >> hit on
> > > > >>> >> >> > >> >> > all
> > > > >>> >> >> > >> >> > >>>>>>> pages,
> > > > >>> >> >> > >> >> > >>>>>>> I am only measuring CPU from 2nd hit
> > onwards.
> > > > >>> >> >> > >> >> > >>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>> Ravi
> > > > >>> >> >> > >> >> > >>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>> Scott O'Bryan wrote:
> > > > >>> >> >> > >> >> > >>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>> I don't know.  I'm of the camp that if
> the
> > > CPU
> > > > >>> time
> > > > >>> >> is
> > > > >>> >> >> > >> >> available,
> > > > >>> >> >> > >> >> > >>>>>>>> use
> > > > >>> >> >> > >> >> > >>>>>>>> it.  That said, is this load consistant
> or
> > > are
> > > > you
> > > > >>> >> just
> > > > >>> >> >> > >> testing
> > > > >>> >> >> > >> >> an
> > > > >>> >> >> > >> >> > >>>>>>>> initial hit of each page.
> > > > >>> >> >> > >> >> > >>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>> Sent from my iPhone
> > > > >>> >> >> > >> >> > >>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>> On Jan 8, 2010, at 11:25 PM, Ravi <
> > > > >>> >> >> > ravikapoor...@gmail.com>
> > > > >>> >> >> > >> >> > wrote:
> > > > >>> >> >> > >> >> > >>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>  Hi Jan-Kees,
> > > > >>> >> >> > >> >> > >>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>> Now that I am reading your message
> again,
> > I
> > > > do
> > > > >>> want
> > > > >>> >> to
> > > > >>> >> >> > >> answer
> > > > >>> >> >> > >> >> > your
> > > > >>> >> >> > >> >> > >>>>>>>>> questions in detail. First I agree
> > > reflection
> > > > is
> > > > >>> >> cheap,
> > > > >>> >> >> > >> that is
> > > > >>> >> >> > >> >> > why
> > > > >>> >> >> > >> >> > >>>>>>>>> reflection is not my concern. Time
> being
> > > > spent in
> > > > >>> >> >> > >> reflection is
> > > > >>> >> >> > >> >> > >>>>>>>>> almost negligible compared to time
> being
> > > > spent in
> > > > >>> >> >> > trinidad
> > > > >>> >> >> > >> >> > classes.
> > > > >>> >> >> > >> >> > >>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>> Secondly IO and locking etc contribute
> to
> > > > clock
> > > > >>> time
> > > > >>> >> >> but
> > > > >>> >> >> > >> not to
> > > > >>> >> >> > >> >> > CPU
> > > > >>> >> >> > >> >> > >>>>>>>>> time. e.g. for IO, the thread may be in
> a
> > > > wait
> > > > >>> state
> > > > >>> >> >> > >> waiting
> > > > >>> >> >> > >> >> for
> > > > >>> >> >> > >> >> > >>>>>>>>> data to arrive. In this case, the clock
> > > keeps
> > > > >>> >> ticking
> > > > >>> >> >> but
> > > > >>> >> >> > >> such
> > > > >>> >> >> > >> >> a
> > > > >>> >> >> > >> >> > >>>>>>>>> wait does not need CPU. My numbers are
> > > > >>> specifically
> > > > >>> >> CPU
> > > > >>> >> >> > >> time.
> > > > >>> >> >> > >> >> > Which
> > > > >>> >> >> > >> >> > >>>>>>>>> means trinidad is not waiting but
> > executing
> > > > CPU
> > > > >>> >> >> > >> instructions.
> > > > >>> >> >> > >> >> > >>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>> This is why the user load is also
> > > irrelevant
> > > > >>> (high
> > > > >>> >> load
> > > > >>> >> >> > >> leads
> > > > >>> >> >> > >> >> to
> > > > >>> >> >> > >> >> > >>>>>>>>> adding clock time but not to CPU time).
> > But
> > > > since
> > > > >>> >> you
> > > > >>> >> >> > >> asked, to
> > > > >>> >> >> > >> >> > get
> > > > >>> >> >> > >> >> > >>>>>>>>> these numbers, I am not doing a load
> > > testing.
> > > > I
> > > > >>> am
> > > > >>> >> >> simply
> > > > >>> >> >> > >> >> loading
> > > > >>> >> >> > >> >> > 4
> > > > >>> >> >> > >> >> > >>>>>>>>> screens 4 times in order (total 16
> > > screens).
> > > > >>> >> >> > >> >> > >>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>> Regards
> > > > >>> >> >> > >> >> > >>>>>>>>> Ravi
> > > > >>> >> >> > >> >> > >>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>> Jan-Kees van Andel wrote:
> > > > >>> >> >> > >> >> > >>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>> I'm not sure, but I doubt the mailing
> > list
> > > > >>> supports
> > > > >>> >> >> > >> >> attachments.
> > > > >>> >> >> > >> >> > >>>>>>>>>> Maybe you could provide a link to some
> > > image
> > > > >>> >> hosting
> > > > >>> >> >> > site?
> > > > >>> >> >> > >> >> > >>>>>>>>>> My first thought, reflection is darn
> > > cheap,
> > > > >>> >> especially
> > > > >>> >> >> > >> since
> > > > >>> >> >> > >> >> > Java
> > > > >>> >> >> > >> >> > >>>>>>>>>> 5
> > > > >>> >> >> > >> >> > >>>>>>>>>> and even more since Java 6. I'm no IBM
> > JVM
> > > > >>> >> specialist,
> > > > >>> >> >> > but
> > > > >>> >> >> > >> I
> > > > >>> >> >> > >> >> > don't
> > > > >>> >> >> > >> >> > >>>>>>>>>> think there are major differences with
> > > > >>> HotSpot...
> > > > >>> >> >> > Compared
> > > > >>> >> >> > >> >> with
> > > > >>> >> >> > >> >> > >>>>>>>>>> SQL
> > > > >>> >> >> > >> >> > >>>>>>>>>> queries, backend transactions, web
> > service
> > > > >>> calls,
> > > > >>> >> etc.
> > > > >>> >> >> > >> >> > reflective
> > > > >>> >> >> > >> >> > >>>>>>>>>> method invocations really don't make a
> > > > >>> difference.
> > > > >>> >> >> > >> >> > >>>>>>>>>> Having said that, what kind of
> > application
> > > > are
> > > > >>> you
> > > > >>> >> >> > >> testing?
> > > > >>> >> >> > >> >> Does
> > > > >>> >> >> > >> >> > >>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>> this
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> > >>>>> application have any I/O, locking or other
> > > > expensive
> > > > >>> >> things
> > > > >>> >> >> > >> that
> > > > >>> >> >> > >> >> may
> > > > >>> >> >> > >> >> > >>>>>>>>>> be the cause of the CPU-time
> imbalance?
> > > > >>> >> >> > >> >> > >>>>>>>>>> Also, what kind of load are you
> > simulating
> > > > on
> > > > >>> your
> > > > >>> >> >> > >> >> application?
> > > > >>> >> >> > >> >> > >>>>>>>>>> Long
> > > > >>> >> >> > >> >> > >>>>>>>>>> sessions with not much users? Lots of
> > > short
> > > > >>> >> sessions?
> > > > >>> >> >> > >> >> > Hyperactive
> > > > >>> >> >> > >> >> > >>>>>>>>>> users without any pauses?
> > > > >>> >> >> > >> >> > >>>>>>>>>> /JK
> > > > >>> >> >> > >> >> > >>>>>>>>>> Ps. How did you configure your
> profiler?
> > > > >>> Sampling
> > > > >>> >> or
> > > > >>> >> >> > >> >> > >>>>>>>>>> tracing/instrumentation? Although I
> > don't
> > > > think
> > > > >>> it
> > > > >>> >> >> makes
> > > > >>> >> >> > a
> > > > >>> >> >> > >> >> > >>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>> difference
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> > >>>>> in this case, sampling is less accurate...
> > > > >>> >> >> > >> >> > >>>>>>>>>> 2010/1/8 Ravi Kapoor <
> > > > ravikapoor...@gmail.com>:
> > > > >>> >> >> > >> >> > >>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>> The actual call to getter method is
> > only
> > > > using
> > > > >>> 2%
> > > > >>> >> >> CPU.
> > > > >>> >> >> > >> Rest
> > > > >>> >> >> > >> >> 38%
> > > > >>> >> >> > >> >> > >>>>>>>>>>> is
> > > > >>> >> >> > >> >> > >>>>>>>>>>> being
> > > > >>> >> >> > >> >> > >>>>>>>>>>> used within trinidad classes.
> > > > >>> >> >> > >> >> > >>>>>>>>>>> I am attaching two screenshots to
> give
> > > you
> > > > more
> > > > >>> >> >> > details.
> > > > >>> >> >> > >> >> > >>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>> In first screenshot, you can see at
> the
> > > top
> > > > >>> left
> > > > >>> >> >> > corner,
> > > > >>> >> >> > >> >> total
> > > > >>> >> >> > >> >> > >>>>>>>>>>> CPU
> > > > >>> >> >> > >> >> > >>>>>>>>>>> units
> > > > >>> >> >> > >> >> > >>>>>>>>>>> taken by getProperty are 32391
> > > > >>> >> >> > >> >> > >>>>>>>>>>> getProperty calls
> > > > >>> >> >> javax.faces.el.ValueBinding.getValue
> > > > >>> >> >> > >> which
> > > > >>> >> >> > >> >> > >>>>>>>>>>> calls
> > > > >>> >> >> > >> >> > >>>>>>>>>>>
> > > > >>> >> org.apache.myfaces.el.PropertyResolverImpl.getValue
> > > > >>> >> >> > which
> > > > >>> >> >> > >> >> calls
> > > > >>> >> >> > >> >> > >>>>>>>>>>>
> > > > >>> >> >> org.apache.myfaces.el.PropertyResolverImpl.getProperty
> > > > >>> >> >> > >> which
> > > > >>> >> >> > >> >> > >>>>>>>>>>> calls
> > > > >>> >> >> > >> >> > >>>>>>>>>>> java.lang.reflect.Method.invoke.
> > > > >>> >> >> > >> >> > >>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>> In second screenshot you can see that
> > > > >>> >> Method.invoke
> > > > >>> >> >> is
> > > > >>> >> >> > >> using
> > > > >>> >> >> > >> >> > only
> > > > >>> >> >> > >> >> > >>>>>>>>>>> 1781 units
> > > > >>> >> >> > >> >> > >>>>>>>>>>> of CPU. Rest of the time is being
> spent
> > > > within
> > > > >>> >> >> trinidad
> > > > >>> >> >> > >> >> > classes.
> > > > >>> >> >> > >> >> > >>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>> Does this help? Also the rest of
> > trinidad
> > > > using
> > > > >>> >> 45%
> > > > >>> >> >> CPU
> > > > >>> >> >> > >> usage
> > > > >>> >> >> > >> >> > is
> > > > >>> >> >> > >> >> > >>>>>>>>>>> also highly
> > > > >>> >> >> > >> >> > >>>>>>>>>>> concerning.
> > > > >>> >> >> > >> >> > >>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>> Thanks
> > > > >>> >> >> > >> >> > >>>>>>>>>>> Ravi
> > > > >>> >> >> > >> >> > >>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>> On Fri, Jan 8, 2010 at 1:47 PM,
> > Jan-Kees
> > > > van
> > > > >>> Andel
> > > > >>> >> >> > >> >> > >>>>>>>>>>> <jankeesvanan...@gmail.com> wrote:
> > > > >>> >> >> > >> >> > >>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>> Hey,
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>> Is it possible that the getProperty
> > > > indirectly
> > > > >>> >> >> invokes
> > > > >>> >> >> > >> some
> > > > >>> >> >> > >> >> > >>>>>>>>>>>> expensive
> > > > >>> >> >> > >> >> > >>>>>>>>>>>> computation? For example, do you
> have
> > > lots
> > > > of
> > > > >>> >> logic
> > > > >>> >> >> > >> inside
> > > > >>> >> >> > >> >> > your
> > > > >>> >> >> > >> >> > >>>>>>>>>>>> getters?
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>> Regards,
> > > > >>> >> >> > >> >> > >>>>>>>>>>>> Jan-Kees
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>> 2010/1/8 Ravi Kapoor <
> > > > ravikapoor...@gmail.com
> > > > >>> >:
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> Hi Matthias,
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> Here are the details:
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> Server: Websphere 6.1
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> Trinidad version: 1.0.7  (We cant
> > > upgrade
> > > > to
> > > > >>> 2.0
> > > > >>> >> >> > until
> > > > >>> >> >> > >> we
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> upgrade
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> websphere
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> which will happen in due course.
> Even
> > > > then if
> > > > >>> >> this
> > > > >>> >> >> > >> issue
> > > > >>> >> >> > >> >> has
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> not
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> been
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> addressed, the problem may exist in
> > 2.0
> > > > as
> > > > >>> >> well.)
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> OS: Windows (Even though I am
> > measuring
> > > > >>> numbers
> > > > >>> >> on
> > > > >>> >> >> > >> windows
> > > > >>> >> >> > >> >> > but
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> I
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> do not
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> think this is OS specific)
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> Let me know if you need to know
> > > anything
> > > > >>> else.
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> Regards
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> Ravi
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> On Fri, Jan 8, 2010 at 1:09 AM,
> > > Matthias
> > > > >>> >> Wessendorf
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>> <mat...@apache.org>wrote:
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>  Hello Ravi,
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>> some more background would be
> good,
> > > e.g.
> > > > >>> what
> > > > >>> >> >> > version
> > > > >>> >> >> > >> of
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>> Trinidad etc.
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>> -Matthias
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>> On Thu, Jan 7, 2010 at 11:25 PM,
> > Ravi
> > > > Kapoor
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>> <ravikapoor...@gmail.com
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>> wrote:
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> Has anybody done performance
> tests
> > on
> > > > >>> trinidad
> > > > >>> >> >> > >> >> application.
> > > > >>> >> >> > >> >> > I
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> have an
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> application and it appears that
> it
> > is
> > > > >>> taking
> > > > >>> >> >> 80-90%
> > > > >>> >> >> > >> of
> > > > >>> >> >> > >> >> CPU
> > > > >>> >> >> > >> >> > in
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>> my
> > > > >>> >> >> > >> >> > >>>>
> > > > >>> >> >> > >> >> > >>>>> application, thus killing performance.
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> We ran load tests and our CPU
> went
> > to
> > > > 100%
> > > > >>> >> usage.
> > > > >>> >> >> > At
> > > > >>> >> >> > >> this
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> point we
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>> measured
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> how much time was being taken by
> > each
> > > > >>> >> >> class/method.
> > > > >>> >> >> > >> Here
> > > > >>> >> >> > >> >> > are
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> some
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> interesting figures:
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> CPU usage by all Trinidad +
> myfaces
> > > > classes
> > > > >>> =
> > > > >>> >> >> > 80-90%
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> Myfaces CPU usage (without
> > trinidad)
> > > =
> > > > 8%
> > > > >>> >> (which
> > > > >>> >> >> > >> implies
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> trinidad is
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>> taking
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> 70-80% of CPU)
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> Total time taken by one method
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> >
> > > > >>> (org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty)
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> =
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> 40%
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> Can anybody confirm that they
> have
> > > seen
> > > > >>> this
> > > > >>> >> >> > >> behavior?
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> Or if somebody can confirm that
> > this
> > > > does
> > > > >>> not
> > > > >>> >> >> > happen
> > > > >>> >> >> > >> in
> > > > >>> >> >> > >> >> > their
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> performance
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> tests, that should help too.
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> Thanks
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>> Ravi
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>>  --
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>> Matthias Wessendorf
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>> blog:
> > > > >>> http://matthiaswessendorf.wordpress.com/
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>> sessions:
> > > > >>> >> http://www.slideshare.net/mwessendorf
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>> twitter:
> > > http://twitter.com/mwessendorf
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>>>>>>>>>
> > > > >>> >> >> > >> >> > >>>>>>
> > > > >>> >> >> > >> >> > >>>>>>
> > > > >>> >> >> > >> >> > >>>>>
> > > > >>> >> >> > >> >> > >>
> > > > >>> >> >> > >> >> > >>
> > > > >>> >> >> > >> >> > >>
> > > > >>> >> >> > >> >> > >
> > > > >>> >> >> > >> >> >
> > > > >>> >> >> > >> >>
> > > > >>> >> >> > >> >
> > > > >>> >> >> > >>
> > > > >>> >> >> > >
> > > > >>> >> >> > >
> > > > >>> >> >> >
> > > > >>> >> >>
> > > > >>> >> >
> > > > >>> >>
> > > > >>> >
> > > > >>>
> > > > >>
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > >  Matthias Wessendorf
> > > >
> > > > blog: http://matthiaswessendorf.wordpress.com/
> > > > sessions: http://www.slideshare.net/mwessendorf
> > > > twitter: http://twitter.com/mwessendorf
> > > >
> > >
> >
>

Reply via email to