Java performance monitoring

772 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
772
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
25
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Java performance monitoring

  1. 1. Java User Group - Chennai Manigandan Venkataraman [email_address] July 30, 2011 http://www.jugchennai.in Java Performance Monitoring Part -1
  2. 2. Agenda <ul><li>Why Performance Monitoring? </li></ul><ul><li>What to Monitor? </li></ul><ul><li>Identifying Bottlenecks and Issues </li></ul><ul><li>Tools </li></ul><ul><li>References </li></ul>
  3. 3. Why Performance Monitoring “ you don't need to be a mechanic to drive a vehicle” But, Mechanic can derive the best performance from a vehicle!!!
  4. 4. Why Performance Monitoring <ul><li>Maintain and manage system health </li></ul><ul><ul><li>Detection of performance events </li></ul></ul><ul><ul><li>Detection of application progress or liveness </li></ul></ul><ul><li>Performance tuning </li></ul><ul><ul><li>Drilling down to find causes </li></ul></ul><ul><ul><li>Identifying solutions </li></ul></ul>
  5. 6. Performance Metrics <ul><li>Throughput </li></ul><ul><li>Runtime response time </li></ul><ul><li>Footprint </li></ul><ul><li>Perceived performance (for GUI applications) </li></ul>
  6. 7. Performance Monitoring <ul><li>Definition : An act of non-intrusively collecting or observing performance data from an operating or running application. </li></ul><ul><li>Typically a “preventative” or “proactive” type of action. But, could be an initial step in a reactive action. </li></ul><ul><li>Can be performed in production, or qualification, or development environments. </li></ul><ul><li>Helps identify or isolate potential issues without having a severe impact on runtime responsiveness or throughput. </li></ul><ul><li>Often times monitoring crosses over into trouble-shooting or service-ability. </li></ul>
  7. 8. Performance Profiling <ul><li>Definition : An act of collecting or observing performance data from an operating or running application. </li></ul><ul><li>Usually more intrusive than monitoring. </li></ul><ul><li>Usually a narrower focus than monitoring. </li></ul><ul><li>Typically a reactive type of activity. Could be a proactive activity in situations where performance is a well defined systemic quality or requirement for a target application. </li></ul><ul><li>Seldom performed in production environments. </li></ul><ul><li>Commonly done in qualification, testing or development environments. </li></ul>
  8. 9. Monitoring vs Profiling
  9. 10. Performance Tuning <ul><li>Definition : An act of changing tune-ables, source code and/or configuration attribute(s) for the purposes of improving application responsiveness and/or application throughput. </li></ul><ul><li>Usually results from monitoring and/or profiling activities </li></ul>
  10. 11. Java Application Stack <ul><li>All stack configuration should be optimal </li></ul><ul><li>Start with best practices for each stack </li></ul><ul><li>By default, you can achieve 60 – 70% </li></ul><ul><li>Performance issues are mostly, a direct impact of the application code </li></ul>
  11. 12. Tools <ul><li>Garbage Collection Logs </li></ul><ul><li>Jconsole & JVisual VM </li></ul><ul><li>Jstat, jps </li></ul><ul><li>Demo - jconsole </li></ul>
  12. 13. References <ul><li>Sang Shin, Michèle Garoche – Javapassion.com http://download.oracle.com/javase/6/docs/technotes/tools/ Javaone – Performance Monitoring for JVM </li></ul><ul><li>Java Documentation – SE6 </li></ul>

×