• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
AMIS Oracle ADF Performance monitor, tuning ADF applications

AMIS Oracle ADF Performance monitor, tuning ADF applications



Analyzing runtime behavior and fixing performance bottlenecks in systems build in Oracle Application Development Framework. ...

Analyzing runtime behavior and fixing performance bottlenecks in systems build in Oracle Application Development Framework.

* Detects and identifies the causes of performance problems
* Can be used during development or for production applications
* Issues are reported in JDeveloper and in a separate Dashboard application
* 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
* JMS is used to save metrics in background job to database

Contact AMIS via info@amis.nl for more information and pricing.



Total Views
Views on SlideShare
Embed Views



1 Embed 9

https://twitter.com 9



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • Research why they complain with the userID, sessionID, applicationserver, button/links they clicked on, etc.-Where did they click on?-Which applicationserver-When?

AMIS Oracle ADF Performance monitor, tuning ADF applications AMIS Oracle ADF Performance monitor, tuning ADF applications Presentation Transcript

  • Monitor ADF applications in production Frank Houweling ADF Performance Monitor
  • 2 ADF Performance Monitor • Advanced tool designed for measuring, analyzing, improving, and controlling the performance of Oracle ADF applications • The ADF Performance Monitor is a performance recorder; it 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 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
  • 3 Issues are reported in JDeveloper and in a Dashboard Reporting App
  • 4 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?
  • 5 SLA Monitoring • In the top left section of the dashboard a summary of HTTP requests response times is shown for the selected time range. It shows 3 categories: – Sunny (Normal, well within the SLA range) – Rainy (Slow, somewhat outside the specified SLA response time) – Thunder (Very slow, well outside the SLA boundaries, considered seriously problematic) • Depending on the SLA, QA and operation teams can configure how the monitor should interpret HTTP request response times
  • 6 Details HTTP response times • In the top right section the HTTP response times can be analyzed over the selected time range – This graph makes visible when the load is high (and how high), how the response times are distributed over the categories (very slow, slow and normal) and when there are performance problems – More red and yellow colored parts of the bars should be a trigger to drill down to this hour for further analysis in order to find the root cause.
  • 7 JVM Heap Space and Garbage Collection • Monitor Real-time and historic heap usage and garbage collection times – If garbage collections are running longer than a configurable threshold (for example 20 seconds) a warning sign is shown. This is often an indication of a problem – such as a freeze of all current requests because the JVM cannot clear enough memory.
  • 8 ADF Performance Monitor vs. Oracle ODL Analyzer • The ADF Performance Monitor provides similar functionality as the callstacks of the Oracle ODL Analyzer (by ADF request). • Oracle ODL Analyzer can be useful in the development stage, but can’t be used in test en product environments because of the amount of logging generated and the significant performance overhead. • The ADF Performance Monitor records the performance with a very low overhead (less than 4%) • In addition, the ADF Performance Monitor reports also: – Load & HTTP request response times - SLA monitoring is possible – Overviews of the worst performing ADF Business Components, BindingContainer and webservice executions (and the possibility to drill down) – JVM metrics – Application errors
  • 9 Drill down to HTTP request Call stack to analyze root cause of slow requests
  • 10 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.
  • 11 Warnings and Suggested Solutions
  • 12 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
  • 13 Worst performing executions in ADF BC and model layer • In overviews the worst performing parts of the ADF BC and model layer are indicated • The development team can take action to improve the application • There are overviews for the worst performing executions of: – ADF Business Components – (PageDefinition) BindingContainer executions – Webservices (calls to JAX-WS webservices) – Java methods instrumented by the ADF developer
  • 14 Drill down to call stacks of worst ADF BC Executions
  • 15Easy to find the root cause of slow ApplicationModule activations & passivations
  • 16 ADF BC Memory Analyzer • Prevent JVM memory overconsumption – Detect memory killing ADF ViewObjects that loads hundreds or even thousands of ViewObject (database) rows
  • 17 Quickly Troubleshoot Customer Complains • All errors with all relevant detail information are recorded • Error stacktraces 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 • Detailed information like exception message, stack trace, timestamp, user ID, button/link clicked on, application server URI, and session is important to get insight and to resolve them
  • 18 Troubleshoot root cause of errors in seconds
  • 19 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
  • 20 Use in JDeveloper during development
  • 21 Product architecture
  • 22 Dev Teams • Get visibility/insight of what is happening in their ADF application • Detect and solve performance problems already in an early stage • Make better (architecture) decisions • Deliver a higher quality
  • 23 QA Teams • Do Quality checks after new releases • Make sure problems are found and dealt with • Evaluate load tests • Test whether SLA contract is met in test environment
  • 24 Operation Teams • Monitor production problems • Quickly troubleshoot & report problems • Monitor whether SLA contract is met in production • Reduce the utilization of infrastructure, hardware and licenses
  • 25 End-users will be more happy
  • 26 Overhead in Test and Production • Save to use in test and production environment • Overhead is less than 4% – Caused by the detailed collection of performance metrics
  • 27 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
  • 28 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)
  • 29 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
  • 30 The ADF Performance Monitor is an AMIS Tool More information on http://www.amis.nl/ADFperformancemonitor Contact us for more information and pricing. info@amis.nl or call +31 30 6016000