• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Question about performance analyzing with jConsole

 
Greenhorn
Posts: 18
Eclipse IDE Chrome Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hello ranchers, I have a performance question about a web application that I've recently started working on. The codebase for this app is on the larger side, for me anyway, 450 java files and has been around for about 2 years. We use struts1 and tomcat. Here is a jconsole screen shot for the past day and a half or so. Now the million dollar question that's gotten me head scratching.

I can see during the day we get spikes in memory and threads, but even in the dead of night our processor seems to be constantly pegged. I'm not sure what type of horsepower we have on the box itself but is that where I should start looking or should I start looking at our processing code? I know this is very vague and there are lots of things that need to be fixed in our code but I was hoping to get a general impression based on the image.

thanks!
8-3-2011-11-25-05-AM.png
[Thumbnail for 8-3-2011-11-25-05-AM.png]
jconsole screenshot
 
Ranch Hand
Posts: 218
Hibernate Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You need to find out what is being done on the box.
1.) You can start with taking a thread dump, this will tell you what is being executed within the JVM. Jconsole can be used to take thread dumps. You need to see if any of the threads are doing any processing.
2.) Need to look at GC activity. What is your heap size. This can be done by enabling GC logs. Interestingly the heap size is constant during peak & off peak.
3.) Do you have any off peak batch jobs, etc.
4.) Any scheduled maintenance like backups that are done on the box during off peak hours?
reply
    Bookmark Topic Watch Topic
  • New Topic