SlideShare a Scribd company logo
1 of 46
ADF Performance Monitor
Frank Houweling - 2015
2
Why Monitoring
• Applications often contain frustrating blind spots and mysterious,
recurring problems that are often difficult to identify, diagnose, and fix.
• With business-critical applications, it’s very important to have a simple
and fast way to monitor, diagnose, and resolve application problems
before they affect revenue.
3
End User Experience:
Call and Ask all Customers ?
4
ADF Performance Monitor
• Advanced tool designed for measuring, analyzing, improving, and
checking the performance and health of Oracle ADF applications
• Tracks and collects crucial production performance information of the
application’s runtime ADF components that are not standard provided by
Oracle
• Helps development, QA, and operation teams to detect, analyze and
resolve common and less common issues in response times, health and
resource usage of ADF applications
• Can be used during development, test and production
• Is a library attached to your application
• Less than 1 day for implementation
• Needs to add a very small amount of code to application to make metrics
classes active
5
Issues are reported in a Dashboard
Reporting App and in JDeveloper
6
Month, Week, Day, Hour, 5
Minute Overview
• Shows real-time critical information about the ADF application's performance
• Are response times within or outside SLA boundaries? Is immediate action required?
• What is the error rate? What is the health of the JVM?
7
Monitor SLA
• from 15:00 to 16:00 the response times have increased significantly (more
red and yellow colored parts in the 15u bar)
• This should be a trigger to investigate
8
Monitor Details of All HTTP
Requests
– Client Response Time (including network to client and Browser load time)
9
Monitor HTTP Request Details
of Specific End-Users (1)
– Select an end-user name in list
– Performance and problems of specific end-users can now be analyzed
10
Monitor Requests of Specific
End-Users (2)
– When and where did the end-user click ?
– What were the response times of this end-user ?
11
Request and Response
Network Time
Database Application Server Network Client
Request
Response
12
Browser Load Time
Database Application Server Network Client
Request
Response
13
Example Slow Network/Browser
Load Time (1) - Day Overview
14
Example Slow Network/Browser
Load Time (2) – Hour Overview
15
Example Slow Network/Browser
Load Time (3) – 5 Min Overview
16
Example Slow Network/Browser
Load Time (4) – Request Details
17
Example Network/Browser
Load Time – Resolved
• Next day the network problem was resolved
- We can see this in the following hour overview graph were there is much less purple colour (right bottom):
18
Zoom in Into WLS Managed
Server (or Monitor All Together)
• Select / Filter on Managed Server
• Compare Performance between Managed Servers
19
JVM Memory Problem Alerts
20
Quickly Troubleshoot Customer
Complains
• All errors with all relevant detail information are recorded
• Error stack traces and call stacks are collected to allow the developer to
quickly troubleshoot these errors
• This information helps to discover, analyze and resolve errors that happen
frequently on test / production environments
21
Troubleshoot Production
Errors (1)
• Top 10 Production Errors / Faults by Occurrences
22
Trouble shoot Production
Errors (2)
Solution: increase Maximum Capacity of datasource in WLS console
23
Trouble shoot Production
Errors (3)
24
Very Easy to Find Root Cause
of Problems
• A call stack provides visibility into which ADF methods caused other
methods to be executed, organized by the sequence of their execution.
– A complete breakdown of the ADF request processing, including all ADF method
executions, along with elapsed times is printed, organized by lifecycle phase.
– Inefficiencies can be identified from this report, for example long running ViewObject
queries, slow ApplicationModule activations & passivations, e.g.
25
Troubleshoot Slow ViewObject
Queries
• Analyse runtime SQL executed against the database
26
ViewObject Query
Performance Aggregated
• AVG, Occurrences and Total execution time
27
Slow Activation of
ApplicationModule
28
Slow Passivation of
ApplicationModule
29
Worst ApplicationModule
activations & passivations
overview
• Troubleshoot ApplicationModule Pooling problems
• Set the most optimal ApplicationModule Pooling parameter settings
30
Worst ApplicationModule
activations & passivations
overview (2)
31
Occurrences overview
32
Loaded Rows in Memory (1)
33
ADF BC Memory Analyzer (2)
– Example: in this production ADF app, for a single ViewObject instance,
more than 900.000 rows were loaded in the ADF app (Blue) !
– In this production ADF app, for a single ViewObject instance,
more than 900.000 rows were loaded in the ADF app (!)
– Loading 900.000 rows takes more than 10 minutes
34
Loaded Rows in Memory (3)-
ADF CallStack
35
Warnings and Suggested
Solutions
36
ADF Performance Monitor
Warnings and Detailed Help
• Fetching thousands of rows from database
• Slow passivation and activation of transient attributes
• Redundant ViewObject query executions
• Inefficient ViewObject fetchsize
• Inefficient PageDef iterator rangesize
• Slow executions of
– ViewObject queries
– EntityObject DML operations, database locks
– ApplicationModule activations / passivations / transactions
– PageDefinition operations / ApplicationModule custom methods
– PageDefinition iterators
– Webservices
– Java methods
• More
37
The tool can be dynamically turned
on and off (at runtime) at all times
• The ADF Performance Monitor can be dynamically turned on and off (at
runtime) at all times in the Enterprise Manager
• When the monitor is turned off there is no performance overhead because
the metrics classes are not active
38
Use in JDeveloper during
development
39
Configuration
• All configuration steps are well documented in the installation guide
– An ADF library needs to be added to your ADF application
– A very small amount of code needs to be added to instrument the ADF application.
– The metrics classes make use of extension points in the ADF framework in order to
measure the time every action/step takes in a http request.
• Implementation takes less than 1 day, usually no more than a few hours
40
Overhead
• Load tests show that the overhead is less than 3 to 4 percent.
• This overhead is caused by the very detailed collection of performance
metrics.
• The metrics collection can be dynamically turned on and off (at runtime) at
all times.
• When the monitor is turned off there is no performance overhead because
the metrics classes are not active.
41
Support
• Standard Oracle stack
– ADF Business Components
– ADF Model
– ADF Controller
– ADF Faces
• JPA/EJB
– EclipseLink/TopLink
• POJO JavaBean DataControl
• JAX-WS Webservices
• It is possible to instrument (calls to) custom Java methods and 3rd party
libraries
• Application servers:
– WebLogic
– Glassfish
– Tomcat
42
End-users will be more happy
43
Henri Peters - Project Manager
Dutch Ministry of Justice
“For us it is of great value that we can continuously identify the
weakest link, even if there is no actual performance problem (yet)."
“We can even drill down to the level of an individual user.
Sometimes we go so far that we proactively approach end-users:
before they complain we already have contacted them.”
* More quotes of ADF experts and managers at:
http://tinyurl.com/nxgkgr6 or http://www.amis.nl/ADFperformancemonitor
44
Videos available
http://tinyurl.com/npu732q or http://www.amis.nl/ADFperformancemonitor
• Overview ADF Performance Monitor (13 min)
• Customer case Dutch Ministry of Justice (4 min)
45
Whitepaper
Whitepaper has detailed information about the architecture and implementation
http://tinyurl.com/qgfh22u or http://www.amis.nl/ADFperformancemonitor
Content:
Executive overview
Introduction
Oracle ADF applications and performance
ADF Performance Monitor overview
Use in JDeveloper
Use in test and production environment
Dashboard reporting application
Summary and details HTTP response times
ADF framework call stack
Warnings and suggested solutions
Worst performing executions in ADF BC and model layer
Error stacktraces
JVM performance
Product architecture
Configuration
Turn on/off at all times
Prerequisites
Monitored Events
46
More information on
http://www.amis.nl/ADFperformancemonitor
Contact us for more information and pricing.
info@amis.nl or call +31 30 6016000

More Related Content

What's hot

Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
Akash Pramanik
 

What's hot (20)

Extreme Makeover OnBase Edition
Extreme Makeover OnBase EditionExtreme Makeover OnBase Edition
Extreme Makeover OnBase Edition
 
Mastering SAP Monitoring - SAP HANA Monitoring, Management & Automation
Mastering SAP Monitoring - SAP HANA Monitoring, Management & AutomationMastering SAP Monitoring - SAP HANA Monitoring, Management & Automation
Mastering SAP Monitoring - SAP HANA Monitoring, Management & Automation
 
Oracle R12 EBS Performance Tuning
Oracle R12 EBS Performance TuningOracle R12 EBS Performance Tuning
Oracle R12 EBS Performance Tuning
 
Solution Manager - SAP NW BW on HANA Setup Part 3 of 3 (Technical Monitoring ...
Solution Manager - SAP NW BW on HANA Setup Part 3 of 3 (Technical Monitoring ...Solution Manager - SAP NW BW on HANA Setup Part 3 of 3 (Technical Monitoring ...
Solution Manager - SAP NW BW on HANA Setup Part 3 of 3 (Technical Monitoring ...
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
 
How to Turn New Recruits Into Oracle EPM Infrastructure Gurus
How to Turn New Recruits Into Oracle EPM Infrastructure GurusHow to Turn New Recruits Into Oracle EPM Infrastructure Gurus
How to Turn New Recruits Into Oracle EPM Infrastructure Gurus
 
Internals of concurent managers
Internals of concurent managersInternals of concurent managers
Internals of concurent managers
 
SAP TechEd 2013 session Tec118 managing your-environment
SAP TechEd 2013 session Tec118 managing your-environmentSAP TechEd 2013 session Tec118 managing your-environment
SAP TechEd 2013 session Tec118 managing your-environment
 
Mainframe VUG Presentation April 2016
Mainframe VUG Presentation April 2016Mainframe VUG Presentation April 2016
Mainframe VUG Presentation April 2016
 
Resilience Planning & How the Empire Strikes Back
Resilience Planning & How the Empire Strikes BackResilience Planning & How the Empire Strikes Back
Resilience Planning & How the Empire Strikes Back
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
 
Application Manager Presentasi
Application Manager PresentasiApplication Manager Presentasi
Application Manager Presentasi
 
Fitur AppManager - Application Manager ManageEngine
Fitur AppManager - Application Manager ManageEngineFitur AppManager - Application Manager ManageEngine
Fitur AppManager - Application Manager ManageEngine
 
SharePoint Backup best Practices
SharePoint Backup best PracticesSharePoint Backup best Practices
SharePoint Backup best Practices
 
Solution Manager 7.2 SAP Monitoring - Part 2 - Configuration
Solution Manager 7.2 SAP Monitoring - Part 2 - ConfigurationSolution Manager 7.2 SAP Monitoring - Part 2 - Configuration
Solution Manager 7.2 SAP Monitoring - Part 2 - Configuration
 
Product Information - Fuse Management Central 1.0.0
Product Information - Fuse Management Central 1.0.0Product Information - Fuse Management Central 1.0.0
Product Information - Fuse Management Central 1.0.0
 
Monitoring your physical, virtual and cloud infrastructure with Applications ...
Monitoring your physical, virtual and cloud infrastructure with Applications ...Monitoring your physical, virtual and cloud infrastructure with Applications ...
Monitoring your physical, virtual and cloud infrastructure with Applications ...
 
Improving User Experience with Applications Manager
Improving User Experience with Applications ManagerImproving User Experience with Applications Manager
Improving User Experience with Applications Manager
 
Server and application monitoring webinars [Applications Manager] - Part 4
Server and application monitoring webinars [Applications Manager] - Part 4Server and application monitoring webinars [Applications Manager] - Part 4
Server and application monitoring webinars [Applications Manager] - Part 4
 
Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...
 

Viewers also liked

Plant performance monitor
Plant performance monitorPlant performance monitor
Plant performance monitor
sayedshiban
 

Viewers also liked (12)

Leveraging Microsoft BI Toolset to Monitor Performance
Leveraging Microsoft BI Toolset to Monitor PerformanceLeveraging Microsoft BI Toolset to Monitor Performance
Leveraging Microsoft BI Toolset to Monitor Performance
 
Plant performance monitor
Plant performance monitorPlant performance monitor
Plant performance monitor
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & design
 
How to Monitor Performance of your Jenkins Deployment
How to Monitor Performance of your Jenkins DeploymentHow to Monitor Performance of your Jenkins Deployment
How to Monitor Performance of your Jenkins Deployment
 
Presentation a performance monitor for solaris and linux
Presentation   a performance monitor for solaris and linuxPresentation   a performance monitor for solaris and linux
Presentation a performance monitor for solaris and linux
 
Efficient Performance Analysis and Tuning with MySQL Enterprise Monitor
Efficient Performance Analysis and Tuning with MySQL Enterprise MonitorEfficient Performance Analysis and Tuning with MySQL Enterprise Monitor
Efficient Performance Analysis and Tuning with MySQL Enterprise Monitor
 
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...#PCM15: - How to monitor the use and performance of BI Server using the Plug-...
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...
 
How to Monitor Application Performance in a Container-Based World
How to Monitor Application Performance in a Container-Based WorldHow to Monitor Application Performance in a Container-Based World
How to Monitor Application Performance in a Container-Based World
 
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Best Practices in Maintenance and Reliability
Best Practices in Maintenance and ReliabilityBest Practices in Maintenance and Reliability
Best Practices in Maintenance and Reliability
 
Introduction to Network Function Virtualization (NFV)
Introduction to Network Function Virtualization (NFV)Introduction to Network Function Virtualization (NFV)
Introduction to Network Function Virtualization (NFV)
 

Similar to ADF Performance Monitor

performancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdfperformancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdf
MAshok10
 
Blackboard DevCon 2011 - Developing B2 for Performance and Scalability
Blackboard DevCon 2011 - Developing B2 for Performance and ScalabilityBlackboard DevCon 2011 - Developing B2 for Performance and Scalability
Blackboard DevCon 2011 - Developing B2 for Performance and Scalability
Noriaki Tatsumi
 

Similar to ADF Performance Monitor (20)

ADF performance monitor at AMIS25
ADF performance monitor at AMIS25ADF performance monitor at AMIS25
ADF performance monitor at AMIS25
 
collab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdfcollab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdf
 
Presentation application server diagnostics
Presentation   application server diagnosticsPresentation   application server diagnostics
Presentation application server diagnostics
 
performancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdfperformancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdf
 
Application Performance Management
Application Performance ManagementApplication Performance Management
Application Performance Management
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance Test
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged Applications
 
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
 
Operating a Highly Available Cloud Service
Operating a Highly Available Cloud ServiceOperating a Highly Available Cloud Service
Operating a Highly Available Cloud Service
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
Service quality monitoring system architecture
Service quality monitoring system architectureService quality monitoring system architecture
Service quality monitoring system architecture
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Visual Studio Profiler
Visual Studio ProfilerVisual Studio Profiler
Visual Studio Profiler
 
Closing the door on application performance problems
Closing the door on application performance problemsClosing the door on application performance problems
Closing the door on application performance problems
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & Tuning
 
Blackboard DevCon 2011 - Developing B2 for Performance and Scalability
Blackboard DevCon 2011 - Developing B2 for Performance and ScalabilityBlackboard DevCon 2011 - Developing B2 for Performance and Scalability
Blackboard DevCon 2011 - Developing B2 for Performance and Scalability
 
Analysing and Troubleshooting Performance Issues in SAP BusinessObjects BI Re...
Analysing and Troubleshooting Performance Issues in SAP BusinessObjects BI Re...Analysing and Troubleshooting Performance Issues in SAP BusinessObjects BI Re...
Analysing and Troubleshooting Performance Issues in SAP BusinessObjects BI Re...
 
CON5451_Brydon-OOW2014_Brydon_CON5451 (1).pptx
CON5451_Brydon-OOW2014_Brydon_CON5451 (1).pptxCON5451_Brydon-OOW2014_Brydon_CON5451 (1).pptx
CON5451_Brydon-OOW2014_Brydon_CON5451 (1).pptx
 
Spm lecture-3
Spm lecture-3Spm lecture-3
Spm lecture-3
 

More from Getting value from IoT, Integration and Data Analytics

More from Getting value from IoT, Integration and Data Analytics (20)

AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...
AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...
AMIS Oracle OpenWorld en Code One Review 2018 - Blockchain, Integration, Serv...
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaSAMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Data
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: DataAMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Data
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Data
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 1: Cloud Infrastructure
 
10 tips voor verbetering in je Linkedin profiel
10 tips voor verbetering in je Linkedin profiel10 tips voor verbetering in je Linkedin profiel
10 tips voor verbetering in je Linkedin profiel
 
Iot in de zorg the next step - fit for purpose
Iot in de zorg   the next step - fit for purpose Iot in de zorg   the next step - fit for purpose
Iot in de zorg the next step - fit for purpose
 
Iot overview .. Best practices and lessons learned by Conclusion Conenct
Iot overview .. Best practices and lessons learned by Conclusion Conenct Iot overview .. Best practices and lessons learned by Conclusion Conenct
Iot overview .. Best practices and lessons learned by Conclusion Conenct
 
IoT Fit for purpose - how to be successful in IOT Conclusion Connect
IoT Fit for purpose - how to be successful in IOT Conclusion Connect IoT Fit for purpose - how to be successful in IOT Conclusion Connect
IoT Fit for purpose - how to be successful in IOT Conclusion Connect
 
Industry and IOT Overview of protocols and best practices Conclusion Connect
Industry and IOT Overview of protocols and best practices  Conclusion ConnectIndustry and IOT Overview of protocols and best practices  Conclusion Connect
Industry and IOT Overview of protocols and best practices Conclusion Connect
 
IoT practical case using the people counter sensing traffic density build usi...
IoT practical case using the people counter sensing traffic density build usi...IoT practical case using the people counter sensing traffic density build usi...
IoT practical case using the people counter sensing traffic density build usi...
 
R introduction decision_trees
R introduction decision_treesR introduction decision_trees
R introduction decision_trees
 
Introduction overviewmachinelearning sig Door Lucas Jellema
Introduction overviewmachinelearning sig Door Lucas JellemaIntroduction overviewmachinelearning sig Door Lucas Jellema
Introduction overviewmachinelearning sig Door Lucas Jellema
 
IoT and the Future of work
IoT and the Future of work IoT and the Future of work
IoT and the Future of work
 
Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)
Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)
Oracle OpenWorld 2017 Review (31st October 2017 - 250 slides)
 
Ethereum smart contracts - door Peter Reitsma
Ethereum smart contracts - door Peter ReitsmaEthereum smart contracts - door Peter Reitsma
Ethereum smart contracts - door Peter Reitsma
 
Blockchain - Techniek en usecases door Robert van Molken - AMIS - Conclusion
Blockchain - Techniek en usecases door Robert van Molken - AMIS - ConclusionBlockchain - Techniek en usecases door Robert van Molken - AMIS - Conclusion
Blockchain - Techniek en usecases door Robert van Molken - AMIS - Conclusion
 
kennissessie blockchain - Wat is Blockchain en smart contracts @Conclusion
kennissessie blockchain -  Wat is Blockchain en smart contracts @Conclusion kennissessie blockchain -  Wat is Blockchain en smart contracts @Conclusion
kennissessie blockchain - Wat is Blockchain en smart contracts @Conclusion
 
Internet of Things propositie - Enterprise IOT - AMIS - Conclusion
Internet of Things propositie - Enterprise IOT - AMIS - Conclusion Internet of Things propositie - Enterprise IOT - AMIS - Conclusion
Internet of Things propositie - Enterprise IOT - AMIS - Conclusion
 
Omc AMIS evenement 26012017 Dennis van Soest
Omc AMIS evenement 26012017 Dennis van SoestOmc AMIS evenement 26012017 Dennis van Soest
Omc AMIS evenement 26012017 Dennis van Soest
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

ADF Performance Monitor

  • 1. ADF Performance Monitor Frank Houweling - 2015
  • 2. 2 Why Monitoring • Applications often contain frustrating blind spots and mysterious, recurring problems that are often difficult to identify, diagnose, and fix. • With business-critical applications, it’s very important to have a simple and fast way to monitor, diagnose, and resolve application problems before they affect revenue.
  • 3. 3 End User Experience: Call and Ask all Customers ?
  • 4. 4 ADF Performance Monitor • Advanced tool designed for measuring, analyzing, improving, and checking the performance and health of Oracle ADF applications • Tracks and collects crucial production performance information of the application’s runtime ADF components that are not standard provided by Oracle • Helps development, QA, and operation teams to detect, analyze and resolve common and less common issues in response times, health and resource usage of ADF applications • Can be used during development, test and production • Is a library attached to your application • Less than 1 day for implementation • Needs to add a very small amount of code to application to make metrics classes active
  • 5. 5 Issues are reported in a Dashboard Reporting App and in JDeveloper
  • 6. 6 Month, Week, Day, Hour, 5 Minute Overview • Shows real-time critical information about the ADF application's performance • Are response times within or outside SLA boundaries? Is immediate action required? • What is the error rate? What is the health of the JVM?
  • 7. 7 Monitor SLA • from 15:00 to 16:00 the response times have increased significantly (more red and yellow colored parts in the 15u bar) • This should be a trigger to investigate
  • 8. 8 Monitor Details of All HTTP Requests – Client Response Time (including network to client and Browser load time)
  • 9. 9 Monitor HTTP Request Details of Specific End-Users (1) – Select an end-user name in list – Performance and problems of specific end-users can now be analyzed
  • 10. 10 Monitor Requests of Specific End-Users (2) – When and where did the end-user click ? – What were the response times of this end-user ?
  • 11. 11 Request and Response Network Time Database Application Server Network Client Request Response
  • 12. 12 Browser Load Time Database Application Server Network Client Request Response
  • 13. 13 Example Slow Network/Browser Load Time (1) - Day Overview
  • 14. 14 Example Slow Network/Browser Load Time (2) – Hour Overview
  • 15. 15 Example Slow Network/Browser Load Time (3) – 5 Min Overview
  • 16. 16 Example Slow Network/Browser Load Time (4) – Request Details
  • 17. 17 Example Network/Browser Load Time – Resolved • Next day the network problem was resolved - We can see this in the following hour overview graph were there is much less purple colour (right bottom):
  • 18. 18 Zoom in Into WLS Managed Server (or Monitor All Together) • Select / Filter on Managed Server • Compare Performance between Managed Servers
  • 20. 20 Quickly Troubleshoot Customer Complains • All errors with all relevant detail information are recorded • Error stack traces and call stacks are collected to allow the developer to quickly troubleshoot these errors • This information helps to discover, analyze and resolve errors that happen frequently on test / production environments
  • 21. 21 Troubleshoot Production Errors (1) • Top 10 Production Errors / Faults by Occurrences
  • 22. 22 Trouble shoot Production Errors (2) Solution: increase Maximum Capacity of datasource in WLS console
  • 24. 24 Very Easy to Find Root Cause of Problems • A call stack provides visibility into which ADF methods caused other methods to be executed, organized by the sequence of their execution. – A complete breakdown of the ADF request processing, including all ADF method executions, along with elapsed times is printed, organized by lifecycle phase. – Inefficiencies can be identified from this report, for example long running ViewObject queries, slow ApplicationModule activations & passivations, e.g.
  • 25. 25 Troubleshoot Slow ViewObject Queries • Analyse runtime SQL executed against the database
  • 26. 26 ViewObject Query Performance Aggregated • AVG, Occurrences and Total execution time
  • 29. 29 Worst ApplicationModule activations & passivations overview • Troubleshoot ApplicationModule Pooling problems • Set the most optimal ApplicationModule Pooling parameter settings
  • 30. 30 Worst ApplicationModule activations & passivations overview (2)
  • 32. 32 Loaded Rows in Memory (1)
  • 33. 33 ADF BC Memory Analyzer (2) – Example: in this production ADF app, for a single ViewObject instance, more than 900.000 rows were loaded in the ADF app (Blue) !
  • 34. – In this production ADF app, for a single ViewObject instance, more than 900.000 rows were loaded in the ADF app (!) – Loading 900.000 rows takes more than 10 minutes 34 Loaded Rows in Memory (3)- ADF CallStack
  • 36. 36 ADF Performance Monitor Warnings and Detailed Help • Fetching thousands of rows from database • Slow passivation and activation of transient attributes • Redundant ViewObject query executions • Inefficient ViewObject fetchsize • Inefficient PageDef iterator rangesize • Slow executions of – ViewObject queries – EntityObject DML operations, database locks – ApplicationModule activations / passivations / transactions – PageDefinition operations / ApplicationModule custom methods – PageDefinition iterators – Webservices – Java methods • More
  • 37. 37 The tool can be dynamically turned on and off (at runtime) at all times • The ADF Performance Monitor can be dynamically turned on and off (at runtime) at all times in the Enterprise Manager • When the monitor is turned off there is no performance overhead because the metrics classes are not active
  • 38. 38 Use in JDeveloper during development
  • 39. 39 Configuration • All configuration steps are well documented in the installation guide – An ADF library needs to be added to your ADF application – A very small amount of code needs to be added to instrument the ADF application. – The metrics classes make use of extension points in the ADF framework in order to measure the time every action/step takes in a http request. • Implementation takes less than 1 day, usually no more than a few hours
  • 40. 40 Overhead • Load tests show that the overhead is less than 3 to 4 percent. • This overhead is caused by the very detailed collection of performance metrics. • The metrics collection can be dynamically turned on and off (at runtime) at all times. • When the monitor is turned off there is no performance overhead because the metrics classes are not active.
  • 41. 41 Support • Standard Oracle stack – ADF Business Components – ADF Model – ADF Controller – ADF Faces • JPA/EJB – EclipseLink/TopLink • POJO JavaBean DataControl • JAX-WS Webservices • It is possible to instrument (calls to) custom Java methods and 3rd party libraries • Application servers: – WebLogic – Glassfish – Tomcat
  • 42. 42 End-users will be more happy
  • 43. 43 Henri Peters - Project Manager Dutch Ministry of Justice “For us it is of great value that we can continuously identify the weakest link, even if there is no actual performance problem (yet)." “We can even drill down to the level of an individual user. Sometimes we go so far that we proactively approach end-users: before they complain we already have contacted them.” * More quotes of ADF experts and managers at: http://tinyurl.com/nxgkgr6 or http://www.amis.nl/ADFperformancemonitor
  • 44. 44 Videos available http://tinyurl.com/npu732q or http://www.amis.nl/ADFperformancemonitor • Overview ADF Performance Monitor (13 min) • Customer case Dutch Ministry of Justice (4 min)
  • 45. 45 Whitepaper Whitepaper has detailed information about the architecture and implementation http://tinyurl.com/qgfh22u or http://www.amis.nl/ADFperformancemonitor Content: Executive overview Introduction Oracle ADF applications and performance ADF Performance Monitor overview Use in JDeveloper Use in test and production environment Dashboard reporting application Summary and details HTTP response times ADF framework call stack Warnings and suggested solutions Worst performing executions in ADF BC and model layer Error stacktraces JVM performance Product architecture Configuration Turn on/off at all times Prerequisites Monitored Events
  • 46. 46 More information on http://www.amis.nl/ADFperformancemonitor Contact us for more information and pricing. info@amis.nl or call +31 30 6016000

Editor's Notes

  1. Objectives: -be able to instrument ADF to track performance -use performance tracking data to improve performance
  2. Applications often contain frustrating blind spots and mysterious, recurring problems that are often difficult to identify, diagnose, and fix. With business-critical applications, it’s very important to have a simple and fast way to monitor, diagnose, and resolve application problems before they affect revenue.
  3. Troubleshoot problems of specific end-user
  4. Troubleshoot problems of specific end-user
  5. Several overview graphs are added to the main dashboard. At the day overview, it shows for each hour of the day (right bottom) the layer where the time is spent. It shows the time spent in the database, webservice, application server, and network/browser load time: At the top right graph (hourly overview of day performance) we can see a lot of red in the bars. Specifically from 11:00 to 12:00 – apparantly there were many very slow requests. In the graph at the right bottom we can now explain what happened; there were network problems. After talking to the infrastructure department – this was indeed the case. They were very busy with maintanance and were not aware (!) that end-users were suffering from there work.
  6. In the top graph we see all individual http requests in managed server regi_adf_server1. Again, the stacked bars show the time spent in database, webservice, application server, and network/browser load time (purple). We can see that many end-users have to wait ± 5 seconds – on pure network time (!). Note that The JVM is not the problem and is working fine (bottom graph). The next day the network problem was resolved. We can see this in the following hour overview graph were there is much less purple colour (right bottom):
  7. The next day the network problem was resolved. We can see this in the following hour overview graph were there is much less purple colour (right bottom):
  8. 24/7 Overview The dashboard (Figure 3) gives a 24/7 overview of the performance of the application in a selected time range. It opens with a 24 hours overview for the current date. It shows real-time critical information about the ADF application's performance (are response times within or outside SLA boundaries? What is the error rate? What is the health of the JVM? Is immediate action required?).
  9. In the ADF BC overview (filtered on ApplicationModule pooling) the ApplicationModule pooling performance can be analyzed. This overview gives more insight in the effect of these parameter settings (how often passivations and activations happen, how long their AVG and total execution time is). On each ApplicationModule activation/passivation can be drilled down, to see the ADF request call stacks. Dev and QA teams can research and experiment with these parameter settings on test environments during load tests and evaluate the performance results in the monitor. They can determine the most optimal ApplicationModule pooling parameter settings for their situation. Operation teams can monitor the ApplicationModule pooling behavior in production.
  10. The performance impact of frequent invoked activations and passivations can be much higher than those that occur only a few times but are very slow on average. It is important to know which activations/passivations have the biggest impact on the resources of your ADF application. In this overview the x-as shows the AVG execution time (seconds) and the y-as shows the occurrences. The size of the bubble is total time (AVG execution time * occurrences).
  11. We can see that PjtShowPaga001AM.passivateState, PjtShowPaga001AM.activateState and Pagd001AM.passivateState are executed very frequently. If we don’t want this behavior, we can adjust the pooling parameter settings.