Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience
-
Upload
eg-innovations -
Category
Technology
-
view
100 -
download
1
Transcript of Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience
© eG Innovations, Inc | www.eginnovations.com
Why is My Java Application Slow5 Monitoring Best Practices to Deliver a Great User Experience
Bala VaidhinathanCTO,
eG Innovations
© eG Innovations, Inc | www.eginnovations.com
Moderator
Christine AckleyDirector of Marketing OperationseG [email protected]
© 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
© eG Innovations, Inc | www.eginnovations.com
Today’s Presenter
Bala VaidhinathanCTO eG [email protected]
© 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
© 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
© eG Innovations, Inc | www.eginnovations.com
Easier Said Than Done!
Great Application Performance is
© eG Innovations, Inc | www.eginnovations.com
Public cloudPrivate cloud
Virtualized
Browsers Locations Frameworks
Devices ProgrammingLanguages Platforms
Infrastructure & Application Evolution Poses Challenges
© 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
© eG Innovations, Inc | www.eginnovations.com
Great User Experience
Focus of Performance Monitoring Today
© eG Innovations, Inc | www.eginnovations.com
© eG Innovations, Inc | www.eginnovations.com
Silo-based Views No Longer Sufficient
© 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?
© eG Innovations, Inc | www.eginnovations.com
How to Achieve Java
Performance Monitoring Success?
© 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
© 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
© 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
© 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
© 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
© eG Innovations, Inc | www.eginnovations.com
End User Experience Monitoring
Transaction Tracing
Java Container Deep-Dive
Java Application as a Service
Analytics
Transaction Tracing
© eG Innovations, Inc | www.eginnovations.com
ClassFileTransformer
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. WhenLoading…
Business Transaction Tracing
© 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
© 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
© 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
© 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?
© 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)
© 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
© 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
© eG Innovations, Inc | www.eginnovations.com
Application Monitoring = Transaction Tracing
Suppose there is an infrastructure issue – say a database-wide slowdown.
© eG Innovations, Inc | www.eginnovations.com
Transaction tracing will NOT point to the root-cause of an infrastructure problem.
Application Monitoring = Transaction Tracing
© eG Innovations, Inc | www.eginnovations.com
ServerInfrastructure
Health
Application Processes
TCP
Network
Operating System
ApplicationInfrastructure Health
Server/Container
JVM
BusinessTransaction Health
App hosted onContainer
CUSTOM
Application Monitoring = Transaction Tracing
© 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
© eG Innovations, Inc | www.eginnovations.com
End User Experience Monitoring
Business Transaction
Tracing
Application Component Deep-Dive
Application Topology
Discovery/Visualization
IT Analytics
Application Performance Monitoring Framework
© eG Innovations, Inc | www.eginnovations.com
Auto-baselining Automatic correlation Prediction Capacity analysis Historical reporting Bottleneck detection Optimization recommendations
IT Analytics
© eG Innovations, Inc | www.eginnovations.com
Automatic, time varying baselines make monitoring
PROACTIVE
Auto-Baselining for Proactive Alerting
© eG Innovations, Inc | www.eginnovations.com
A few of the servers are handling most of
the sessions
Make Optimization Decisions Based on Empirical Data
© eG Innovations, Inc | www.eginnovations.com
Invest Wisely with Capacity Analytics
© 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
© 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
© 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
© eG Innovations, Inc | www.eginnovations.com
Free Trialhttp://www.eginnovations.com/freetrial
Send an [email protected]
Call Us+1 (866) 526 6700
Next Steps
© eG Innovations, Inc | www.eginnovations.com
Q&A