Vous êtes sur la page 1sur 33

Real-World Oracle ADF

Performance Tuning: Case Study

OOW 2014 - UGF4928


Presented By:
Stephen Johnson - Integretas, Inc
Rao Santhapur - Integretas, Inc

Who is Integretas?
Integretas, Inc. Started in 2007
Systems Integrators, Solution Architects, and Implementation Consultancy
Combined more than 60 years of experience in building world-class IT
systems

We have deep industry knowledge and have provided


cutting-edge solutions in the following industries:

Mortgage (Origination, Wholesale, and Servicing)


Financial services
Publishing
Manufacturing
Automotive

Proquest: For Confidence In Research

Authoritative
research content

Critical
discovery layers

Vital
management tools
3

Across the most critical point in research process

Integretas at ProQuest

PRM - Publisher Relationship Management


TRACS - Titles, Rights And Contracts System
GSP - Global Sales Portal
FMS - Film Manufacturing System
3 other small ADF apps
An APEX reporting application
Multiple Hyperion Cubes

Performance Tuning The Holistic Approach

Javascript Code

View Objects

Java Code

SQL Statements

JVM Memory/CPU Usage

Stored Procedure Code

JVM Garbage Collection

Database Indexes

WebLogic Thread Management

Database Table Partitions

WebLogic Clustering

Database Memory/CPU usage

Load Balancing

User Experience Design

JDBC Connection Pools

Network Infrastructure

Application Modules

Client Platform

Performance Tuning The Holistic Approach

Time To Take Out The Trash - Garbage Collection

Just The Facts - Excel exports

Too Much Can Be Bad For You - Blob Downloads

One Big Happy Family - Clustering

The DBA Is A Person In Your Neighborhood - Database Tuning

Perception Is Everything - UXD

Time To Take Out The


Trash

Time To Take Out The


Trash

Problem - frequent, unpredictable pauses in the application

Culprit - Garbage Collection

Solution - Memory Tuning

Related Issues

Garbage collection method

Java heap memory size

Nursery Size

Time To Take Out The


Trash

Time To Take Out The


Trash

Time To Take Out The


Trash

Time To Take Out The


Trash

Just The Facts

Just The Facts

Problem - Excel exports taking too long and slowing overall performance

Culprit - File size and memory usage

Solution - Changed export generation to create smaller files

Related Issues

HTML formatting

Built in tool is great, but is very slow for large numbers of rows

Just The Facts

Just The Facts

<tr><td>83504</td><td>"Fair daughters of Africa" : African American


women in Baltimore, 1790-1860.</td><td>92742.00</td><td>ProQuest</
td><td>Publisher Relations Dept</td><td>1</td><td>92742</td><td></
td><td>2001</td><td></td><td>Do Not Sell</td><td></td><td>true</
td><td>true</td><td></td><td></td><td></td></tr>
83504,"Fair daughters of Africa" : African American women in Baltimore,
1790-1860.,92742.00,ProQuest,Publisher Relations Dept,1,92742,,2001,,Do
Not Sell,,true,true,,,

17

Too Much Of Anything


Can Be Bad For You

Too Much Of Anything


Can Be Bad For You

Problem - Blob downloads taking too long and crashing the application

Culprit - File size and memory usage

Solution - Changed download method, reduced file size

Related Issues

Memory chewing and tmp disk space

One Big Happy Family

One Big Happy Family

Problem - Clustered servers losing connectivity to each other

Culprit - Application processes hogging app server processes

Solution - This issue was actually a cascade issue

Load balancing

Cluster communication

One Big Happy Family

The DBA Is A Person In


Your Neighborhood

The DBA Is A Person In


Your Neighborhood

Problem - Slow response on database queries and updates

Culprit - Insufficient database and SQL planning

Solution

Indexing

Partitioning

Materialized Views

SQL Tuning

The DBA Is A Person In


Your Neighborhood

Indexing

Partitioning

Reduces data reads

Materialized Views

Speeds up queries on frequently filtered fields

The materialized view can aggregrate data in advance and be


separately indexed

SQL Tuning

Perception Is
Everything

Perception Is
Everything

Problem - Users feeling application requires too much busy work

Culprit - Insufficient user experience design

Solution - Updates to screen layouts

Performance is perception

Just re-arranging the workflow/order of tabs/fields/buttons improved users


speed and perceptions of the app

Perception Is
Everything

Perception Is
Everything

Perception Is
Everything

30

Perception Is
Everything

31

And In The End

Dont get tunnel vision


but dont leap to finger pointing.
Know your users. Know their business. Know their needs.
The DBA is your best friend.
Even if you didnt write it, its still Java.

Stephen Johnson
Manager, Systems Architecture
sjohnson@integretasinc.com
@sjintegretas

Rao Santhapur
President; Co-Founder
rao@integretasinc.com

Integretas, Inc.
http://www.integretas.com
@integretas
3820 Packard
Suite 270
Ann Arbor MI 48108
(855) 488-4844

Vous aimerez peut-être aussi