On Thu, Jan 14, 2010 at 9:45 PM, Ravi Kapoor <ravikapoor...@gmail.com> wrote: > Matthias, I did not hear back from the company you recommended. Can you > check with them?
he told me he would write to you back on Thursday/Friday; let me double check... -Matthias > > 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 >> > > > >> > > >> > >> > -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf