Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience

576 views

Published on

“My application is slow” is a common complaint heard at the help desk from frustrated users and Java application slow downs are so frequent these days that they cost businesses twice as much as actual downtime. When slowness occurs, IT managers often do not have sufficient visibility and insight to quickly determine what caused, and how to resolve, the issue. Is it due to the network, the database, application code, virtualization or storage?

In this webinar, Bala Vaidhinathan, CTO of eG Innovations, presented a multi-dimensional approach to performance monitoring and diagnosis that is necessary for ensuring that your Java applications are performing effectively – ensuring quick resolution and a positive user experience. View the slides to discover:
• How to monitor the real user experience of Java applications and be proactively alerted to issues
• How tag-and-follow transaction tracing helps identify application code issues quickly
• Why you need to go beyond transaction tracing for root-cause diagnosis of Java performance issues
• Why insights into the Java container and Java virtual machine performance matter
• How performance correlation across the application and infrastructure tiers is essential for root-cause diagnosis

Published in: Technology
  • Be the first to comment

Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience

  1. 1. © eG Innovations, Inc | www.eginnovations.com Why is My Java Application Slow 5 Monitoring Best Practices to Deliver a Great User Experience Bala Vaidhinathan CTO, eG Innovations
  2. 2. © eG Innovations, Inc | www.eginnovations.com Moderator Christine Ackley Director of Marketing Operations eG Innovations christine.ackley@eginnovations.com
  3. 3. © eG Innovations, Inc | www.eginnovations.com  Please submit your questions at any time during the webinar using the questions panel on the GoToWebinar client.  This webinar is being recorded. You will receive a link to the recording in a few days.  A copy of this presentation is posted on Slideshare: http://www.slideshare.net/eginnovations/ Logistics
  4. 4. © eG Innovations, Inc | www.eginnovations.com Today’s Presenter Bala Vaidhinathan CTO eG Innovations bala@eginnovations.com
  5. 5. © eG Innovations, Inc | www.eginnovations.com  Java Application performance monitoring today  Why Java Monitoring is easier said than done?  5 monitoring best practices for troubleshooting and avoiding “Java application is slow” problems  Q&A Agenda
  6. 6. © eG Innovations, Inc | www.eginnovations.com Down-time : $21,000 Slow-time : $4,100 Average revenue loss due to 1 hour of: However, slowness occurs 10 times more often than downtime. A 1 sec delay in response time decreases customer satisfaction by 16%, reduces conversions by 7%. Slow-Time vs. Down-Time
  7. 7. © eG Innovations, Inc | www.eginnovations.com Easier Said Than Done! Great Application Performance is
  8. 8. © eG Innovations, Inc | www.eginnovations.com Virtualized Browsers Locations Frameworks Devices Programming Languages Platforms Infrastructure & Application Evolution Poses Challenges
  9. 9. © eG Innovations, Inc | www.eginnovations.com  A failure or a slowdown in a virtual infrastructure is far more severe than in a physical infrastructure Physical Virtual  Configuration of VMs can make a big impact on performance; changes to configuration are hard to track Virtualization Introduces New Challenges
  10. 10. © eG Innovations, Inc | www.eginnovations.com Great User Experience Focus of Performance Monitoring Today
  11. 11. © eG Innovations, Inc | www.eginnovations.com
  12. 12. © eG Innovations, Inc | www.eginnovations.com Silo-based Views No Longer Sufficient
  13. 13. © eG Innovations, Inc | www.eginnovations.com When Java Application is Slow …  Is it due to the client device/application?  Is it the server application code  Is it in the database queries?  Is it due to the application platform/ framework?  Is it due to the virtual/cloud platform?  Is there a slowness in the local or regional network?  Could it be due to storage?
  14. 14. © eG Innovations, Inc | www.eginnovations.com How to Achieve Java Performance Monitoring Success?
  15. 15. © eG Innovations, Inc | www.eginnovations.com End User Experience Monitoring Transaction Tracing Java Container Deep-Dive Java Application as a Service Analytics Java Monitoring – 5 Best Practices
  16. 16. © eG Innovations, Inc | www.eginnovations.com End User Experience Monitoring Transaction Tracing Java Container Deep-Dive Java Application as a Service Analytics End User Experience
  17. 17. © eG Innovations, Inc | www.eginnovations.com  Emulates users  Imposes the same workload again and again  Provides a measure of experience EVEN when there is no real load Synthetic Monitoring  Monitors real users  Actual workloads  Direct measure of what users are seeing Real User MonitoringSynthetic Monitoring User Experience Monitoring
  18. 18. © eG Innovations, Inc | www.eginnovations.com Use a combination of synthetic and real user monitoring approaches to gain a complete view of the user experience. Synthetic Monitoring Real User MonitoringSynthetic Monitoring User Experience - Best Practice
  19. 19. © eG Innovations, Inc | www.eginnovations.com Consider this scenario:  Users access web site, place orders  Order processing happens in the background as an asynchronous process.  What happens when order processing fails?  User Experience Monitoring still indicates that all is OK, despite the failure of orders. Monitoring the user experience is not sufficient. Track your critical business processes as well. INVENTORY HANDLING User Experience - Best Practice
  20. 20. © eG Innovations, Inc | www.eginnovations.com End User Experience Monitoring Transaction Tracing Java Container Deep-Dive Java Application as a Service Analytics Transaction Tracing
  21. 21. © eG Innovations, Inc | www.eginnovations.com ClassFile Transformer  Application is not modified  Introduces some overhead  Tag and follow transactions  Ideal when problems are in the application code Using byte-code instrumentation JVM ClassLoader Class A Class B Class C Agent 1. Premain 2. addTransformer 5. redefineClass 4. transform 3. When Loading… Business Transaction Tracing
  22. 22. © eG Innovations, Inc | www.eginnovations.com  Transaction tracing is very important for identifying coding issues and poor database queries.  May not provide true end-to-end visibility for off-the-shelf applications like SAP, PeopleSoft, etc.  3% - number of respondents to Gartner’s APM Survey who ranked this as #1 priority for APM. Use transaction tracing as one part (not the only part) of your end-to-end application performance monitoring strategy. Transaction Tracing - Best Practice
  23. 23. © eG Innovations, Inc | www.eginnovations.com End User Experience Monitoring Transaction Tracing Java Container Deep-Dive Java Application as a Service Analytics Java Container – Deep Dive
  24. 24. © eG Innovations, Inc | www.eginnovations.com Apps hosted on Container Server/ Container JVM Application Processes TCP Network Operating System Java “Application user transactions” health1 Java application monitoring spans multiple layers Java “Application Infrastructure” health2 “IT Infrastructure” health3
  25. 25. © eG Innovations, Inc | www.eginnovations.com Application server metrics provide insight into the performance of the application’s container including:  Datasource / Connection pool  Web connectors  Sub-systems such as  EJB  Messaging  Container Managed Transactions Apps hosted on Container Server/ Container JVM What is Container monitoring?
  26. 26. © eG Innovations, Inc | www.eginnovations.com  The JVM is a key ‘underpinning’ of any java application.  JVM tuning is necessary anytime there is a:  Application update  JVM version change  Operating system change  JVM monitoring includes:  Garbage Collection. By far, the most intrusive activity upon a java application’s performance.  JVM Memory  JVM Threads  JVM CPU Usage  Class Loading Apps hosted on Container Server/ Container JVM What is JVM monitoring? (Comprehensive list follows in later slides)
  27. 27. © eG Innovations, Inc | www.eginnovations.com “JVM is a critical component in the software stack, it should be monitored as much as the application itself and the operating system” Why is JVM monitoring important ? - Charlie Hunt, JVM Performance Lead Engineer at Oracle Java Performance Guru & author
  28. 28. © eG Innovations, Inc | www.eginnovations.com End User Experience Monitoring Transaction Tracing Java Container Deep-Dive Java Application as a Service Analytics Java Application as a Service
  29. 29. © eG Innovations, Inc | www.eginnovations.com Application Monitoring = Transaction Tracing Suppose there is an infrastructure issue – say a database-wide slowdown.
  30. 30. © eG Innovations, Inc | www.eginnovations.com Transaction tracing will NOT point to the root-cause of an infrastructure problem. Application Monitoring = Transaction Tracing
  31. 31. © eG Innovations, Inc | www.eginnovations.com Server Infrastructure Health Application Processes TCP Network Operating System Application Infrastructure Health Server/Container JVM Business Transaction Health App hosted on Container CUSTOM Application Monitoring = Transaction Tracing
  32. 32. © eG Innovations, Inc | www.eginnovations.com Have the right mix of reach and depth when it comes to monitoring capabilities. Monitor Java as a Service – Best Practice
  33. 33. © eG Innovations, Inc | www.eginnovations.com End User Experience Monitoring Business Transaction Tracing Application Component Deep-Dive Application Topology Discovery/Vi sualization IT Analytics Application Performance Monitoring Framework
  34. 34. © eG Innovations, Inc | www.eginnovations.com  Auto-baselining  Automatic correlation  Prediction  Capacity analysis  Historical reporting  Bottleneck detection  Optimization recommendations IT Analytics
  35. 35. © eG Innovations, Inc | www.eginnovations.com Automatic, time varying baselines make monitoring PROACTIVE Auto-Baselining for Proactive Alerting
  36. 36. © eG Innovations, Inc | www.eginnovations.com A few of the servers are handling most of the sessions Make Optimization Decisions Based on Empirical Data
  37. 37. © eG Innovations, Inc | www.eginnovations.com Invest Wisely with Capacity Analytics
  38. 38. © eG Innovations, Inc | www.eginnovations.com IT Analytics is 2nd in importance to user experience! Look for monitoring tools that reduce your burden by automating analysis and providing you actionable insights. IT Analytics – Best Practice
  39. 39. © eG Innovations, Inc | www.eginnovations.com End User Experience Monitoring Transaction Tracing Java Container Deep-Dive Java Application as a Service Analytics Java Monitoring - 5 Best Practices - Recap
  40. 40. © eG Innovations, Inc | www.eginnovations.com  Ensure great user experience  Detect problems before users notice – be proactive  Resolve problems quickly, keep MTTR low  Handle problems with fewer people, less expertise  Plan/invest wisely for growth Benefits of Java Application Performance Monitoring Success
  41. 41. © eG Innovations, Inc | www.eginnovations.com Free Trial http://www.eginnovations.com/freetrial Send an Email info@eginnovations.com Call Us +1 (866) 526 6700 Next Steps
  42. 42. © eG Innovations, Inc | www.eginnovations.com &

×