I have 2 GB on the machine and it only uses 1 GB. Can you give details on your environment. Especially trinidad version, CPU details and how many users per JVM can you handle, what %age of CPU is consumed by trinidad etc
Regards Ravi On Fri, Jan 8, 2010 at 4:08 PM, Richard Yee <[email protected]> wrote: > How much physical memory is on your testing machine? > I have a few Trinidad applications in production and don't see any of the > performance issues you are having. > > -Richard > > > > On Fri, Jan 8, 2010 at 12:33 PM, Jan-Kees van Andel < > [email protected]> 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 <[email protected]>: > > > > > > 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 > > > <[email protected]> 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 <[email protected]>: > > >> > 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 > > >> > <[email protected]>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 < > > [email protected]> > > >> >> 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 > > >> >> > > >> > > > > > > > > > >

