why is my java app slow? 5 monitoring best practices for a great user experience
TRANSCRIPT
![Page 1: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/1.jpg)
© 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
![Page 2: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/2.jpg)
© eG Innovations, Inc | www.eginnovations.com
Moderator
Christine AckleyDirector of Marketing OperationseG [email protected]
![Page 3: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/3.jpg)
© 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
![Page 4: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/4.jpg)
© eG Innovations, Inc | www.eginnovations.com
Today’s Presenter
Bala VaidhinathanCTO eG [email protected]
![Page 5: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/5.jpg)
© 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
![Page 6: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/6.jpg)
© 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
![Page 7: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/7.jpg)
© eG Innovations, Inc | www.eginnovations.com
Easier Said Than Done!
Great Application Performance is
![Page 8: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/8.jpg)
© eG Innovations, Inc | www.eginnovations.com
Public cloudPrivate cloud
Virtualized
Browsers Locations Frameworks
Devices ProgrammingLanguages Platforms
Infrastructure & Application Evolution Poses Challenges
![Page 9: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/9.jpg)
© 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
![Page 10: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/10.jpg)
© eG Innovations, Inc | www.eginnovations.com
Great User Experience
Focus of Performance Monitoring Today
![Page 11: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/11.jpg)
© eG Innovations, Inc | www.eginnovations.com
![Page 12: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/12.jpg)
© eG Innovations, Inc | www.eginnovations.com
Silo-based Views No Longer Sufficient
![Page 13: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/13.jpg)
© 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?
![Page 14: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/14.jpg)
© eG Innovations, Inc | www.eginnovations.com
How to Achieve Java
Performance Monitoring Success?
![Page 15: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/15.jpg)
© 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
![Page 16: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/16.jpg)
© 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
![Page 17: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/17.jpg)
© 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
![Page 18: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/18.jpg)
© 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
![Page 19: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/19.jpg)
© 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
![Page 20: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/20.jpg)
© eG Innovations, Inc | www.eginnovations.com
End User Experience Monitoring
Transaction Tracing
Java Container Deep-Dive
Java Application as a Service
Analytics
Transaction Tracing
![Page 21: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/21.jpg)
© 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
![Page 22: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/22.jpg)
© 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
![Page 23: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/23.jpg)
© 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
![Page 24: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/24.jpg)
© 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
![Page 25: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/25.jpg)
© 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?
![Page 26: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/26.jpg)
© 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)
![Page 27: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/27.jpg)
© 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
![Page 28: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/28.jpg)
© 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
![Page 29: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/29.jpg)
© eG Innovations, Inc | www.eginnovations.com
Application Monitoring = Transaction Tracing
Suppose there is an infrastructure issue – say a database-wide slowdown.
![Page 30: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/30.jpg)
© eG Innovations, Inc | www.eginnovations.com
Transaction tracing will NOT point to the root-cause of an infrastructure problem.
Application Monitoring = Transaction Tracing
![Page 31: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/31.jpg)
© 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
![Page 32: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/32.jpg)
© 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
![Page 33: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/33.jpg)
© 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
![Page 34: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/34.jpg)
© eG Innovations, Inc | www.eginnovations.com
Auto-baselining Automatic correlation Prediction Capacity analysis Historical reporting Bottleneck detection Optimization recommendations
IT Analytics
![Page 35: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/35.jpg)
© eG Innovations, Inc | www.eginnovations.com
Automatic, time varying baselines make monitoring
PROACTIVE
Auto-Baselining for Proactive Alerting
![Page 36: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/36.jpg)
© eG Innovations, Inc | www.eginnovations.com
A few of the servers are handling most of
the sessions
Make Optimization Decisions Based on Empirical Data
![Page 37: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/37.jpg)
© eG Innovations, Inc | www.eginnovations.com
Invest Wisely with Capacity Analytics
![Page 38: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/38.jpg)
© 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
![Page 39: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/39.jpg)
© 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
![Page 40: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/40.jpg)
© 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
![Page 41: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/41.jpg)
© eG Innovations, Inc | www.eginnovations.com
Free Trialhttp://www.eginnovations.com/freetrial
Send an [email protected]
Call Us+1 (866) 526 6700
Next Steps
![Page 42: Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience](https://reader031.vdocuments.us/reader031/viewer/2022030115/589c43221a28ab227d8b4643/html5/thumbnails/42.jpg)
© eG Innovations, Inc | www.eginnovations.com
Q&A