adf performance monitor at amis25

41
ADF Performance Monitor Frank Houweling, June 2016 AMIS 25 Years - Oracle Conference Beyond the Horizon

Upload: amis-friends-of-oracle-and-java

Post on 23-Jan-2018

266 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: ADF performance monitor at AMIS25

ADF Performance Monitor

Frank Houweling, June 2016

AMIS 25 Years - Oracle Conference Beyond the Horizon

Page 2: ADF performance monitor at AMIS25

Frank Houweling

• Principal Java / ADF / SOA

consultant - AMIS (Netherlands)

• Focus on performance diagnosis & performance management

• Frequent speaker at Kscope, UKOUG and OOW

• Tech Lead of ADF Performance Monitor

Page 3: ADF performance monitor at AMIS25

3

Agenda

• ADF Performance Monitor

– Introduction

– Overview

– Examples

Page 4: ADF performance monitor at AMIS25

4

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.

Page 5: ADF performance monitor at AMIS25

5

ADF Performance Monitor

• Advanced Monitor for measuring, analyzing, improving, and controlling the performance and health

• Tracks / 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

Page 6: ADF performance monitor at AMIS25

6

ADF Performance Monitor

Page 7: ADF performance monitor at AMIS25

7

HTTP Request/Response Time is Spent in Which Layer ?

Database Application Server Network Client

Request

Response

ADF

app

HTTP Response Time

Page 8: ADF performance monitor at AMIS25

8

Client - Browser Load Time

Database Application Server Network Client

Request

Response

Measured

Global

ADF

app

HTTP Response Time

Page 9: ADF performance monitor at AMIS25

9

Request- and Response Network Time

Database Application Server Network Client

Request

Response

Measured

Global

ADF

app

HTTP Response Time

Page 10: ADF performance monitor at AMIS25

10

Application Server Time

Database Application Server Network Client

Request

Response

Measured

In Granular

Details

ADF

app

HTTP Response Time

Page 11: ADF performance monitor at AMIS25

11

Database Time

Database Application Server Network Client

Request

Response

ADF

app

Measured

In Detail

HTTP Response Time

Page 12: ADF performance monitor at AMIS25

12

Part Split out in CallStack

Database Application Server Network Client

Request

Response

ADF

app

HTTP Response Time

Split out in ADF

Callstack

Page 13: ADF performance monitor at AMIS25

13

Split out in ADF Callstack

Page 14: ADF performance monitor at AMIS25

14

Overview By Day, Hour, 5-Minute

Database Application Server Network Client

Request

Response

ADF

app

HTTP Response Time

Page 15: ADF performance monitor at AMIS25

17

Zoom in Into WLS Managed Server (or Monitor All Together)

• Select / Filter on Managed Server • Compare Performance between Managed Servers

Page 16: ADF performance monitor at AMIS25

18

Example Slow Network/Browser Load Time (1) - Day Overview

Page 17: ADF performance monitor at AMIS25

19

Example Slow Network/Browser Load Time (2) – Hour Overview

Page 18: ADF performance monitor at AMIS25

20

Example Slow Network/Browser Load Time (3) – Request Details

Page 19: ADF performance monitor at AMIS25

23

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):

Page 20: ADF performance monitor at AMIS25

24

Troubleshoot Production Errors (1)

• Top 10 Production Errors / Faults by Occurrences

Page 21: ADF performance monitor at AMIS25

25

Trouble shoot Production Errors (2)

Solution: increase Maximum Capacity of datasource in WLS console

Page 22: ADF performance monitor at AMIS25

26

Trouble shoot Production Errors (3)

Page 23: ADF performance monitor at AMIS25

27

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.

Page 24: ADF performance monitor at AMIS25

28

Troubleshoot Slow ViewObject Queries

• Analyse runtime SQL executed against the database

Page 25: ADF performance monitor at AMIS25

29 ViewObject Query Performance Aggregated

• AVG, Occurrences and Total execution time

Page 26: ADF performance monitor at AMIS25

30

Slow Activation of ApplicationModule

Page 27: ADF performance monitor at AMIS25

31

Slow Passivation of ApplicationModule

Page 28: ADF performance monitor at AMIS25

32 Worst ApplicationModule activations & passivations overview

• Troubleshoot ApplicationModule Pooling problems

• Set the most optimal ApplicationModule Pooling parameter settings

Page 29: ADF performance monitor at AMIS25

33

Loaded Rows in Memory (1)

Page 30: ADF performance monitor at AMIS25

34

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) !

Page 31: ADF performance monitor at AMIS25

– 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

35

Loaded Rows in Memory (3)- ADF CallStack

Page 32: ADF performance monitor at AMIS25

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

Page 33: ADF performance monitor at AMIS25

37

End-User Metrics

• Worst Performance by User

• Top Users by Requests

• Most Errors by Users

Page 34: ADF performance monitor at AMIS25

38

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

Page 35: ADF performance monitor at AMIS25

39

Use in JDeveloper during development

Page 36: ADF performance monitor at AMIS25

40

Support

• Standard Oracle stack – ADF Business Components

– ADF Model

– ADF Controller

– ADF Faces

• JPA/EJB – EclipseLink/TopLink

• POJO JavaBean DataControl

• XMLDataContol

• JAX-WS Webservices

• It is possible to instrument (calls to) custom Java methods and 3rd party

libraries

• Application servers: – WebLogic

– IBM WebSphere

– Glassfish

– Tomcat

Page 37: ADF performance monitor at AMIS25

41

Configuration

• 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.

• Implementation takes less than 1 day, usually no more than a few hours

Page 38: ADF performance monitor at AMIS25

42

Overhead

• Load tests show that the overhead is less than 2 percent.

• This overhead is caused by the very detailed collection of performance metrics

Page 39: ADF performance monitor at AMIS25

43

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)

Page 40: ADF performance monitor at AMIS25

44

Whitepaper

Whitepaper has detailed information about the architecture and implementation

http://www.amis.nl/ADFperformancemonitor

Page 41: ADF performance monitor at AMIS25

45

More information on

http://www.amis.nl/ADFperformancemonitor

Contact us for more information and pricing.

[email protected] or call +31 30 6016000