SlideShare a Scribd company logo
1 of 38
ADF Mythbusters 
Andrejus Baranovskis 
Florin Marcus
Company Profile 
ADF, ADF Mobile, BPM, SOA, WebCenter 
Small Team of Experts, Focused on Technical Quality Results 
Customers – Global Corporations, Medium and Small Business 
Oracle Technical Blog – 8 Years (~700 posts) 
Oracle Fusion Middleware Innovation Award 2010, SOA 
Partner Community Award for Outstanding Contribution 
Across the Globe 2010
Agenda 
Batches Of 
AM Pools and DB Connections Pools 
Activation-Safe Application Modules 
Maximum Number of Regions Per Page 
JSP vs Facelets
“Batches Of” 
Oracle Service Request: 3-9978776141 
Performance and Memory Impact
“Batches Of”: How It Works
“Batches Of”: How It Works 
Batches of 1 - a network round trip for each record
“Batches Of”: How It Works 
Batches of 5 - a network round trip for every 5 records
“Batches Of”: What Docs Say 
9.2.4.2 Consider Whether Fetching One Row at a Time is Appropriate 
[...] By default, the framework will fetch rows in batches of one row at a time. If 
you are fetching any more than one row, you will gain efficiency by setting 
this in Batches of value. 
However the higher the number, the larger the client-side buffer required, so 
avoid setting this number arbitrarily high. If you are displaying results n rows at 
a time in the user interface, it's good to set the fetch size to at least n+1 so 
that each page of results can be retrieved in a single round trip to the 
database. 
Developing Fusion Web Applications with Oracle Application Development Framework
“Batches Of”: Methodology 
Target 
Scope 
Tools 
4 ADF applications in production for more than 6 
months. 
Typical use cases: multiple queries per page, 
returning less than 100 records each. Fetching 
millions of records over JDBC is out of scope. 
JMeter, Oracle Application Testing Suite, 
JRockit, Java Mission Control, Weblogic 
Console, Spy Servlet, 
Redsamurai Performance Audit.
Batches Of: Test Results 
No relevant impact when: 
Less than 15 active user sessions 
and 
“Connection Delay Time” is 
lower than 150 ms.
Batches Of: Response Time 
Response time with 100 user sessions
Batches Of: Memory Consumption 
ADF 11g 
One user browsing the application
Batches Of: Memory Consumption 
ADF 11g 
ADF 12c 
One user browsing the application
Batches Of: Conclusions 
ADF 11g: 
ADF 12c: 
Huge impact over memory size due to OJDBC 
Driver 11g design, intentionally trading memory 
for performance. 
Memory impact is significantly lower because 
new version of OJDBC Driver is less memory 
hungry. 
ADF 12c scales better!
Batches Of: Conclusions 
Performance improvement are significant when values are 
between 10 - 40. 
Oracle JDBC Dev Team suggests the “Batches Of” (Fetch 
Size) to be less than 100. 
Retrieving all records in a single round trip doesn’t 
necessarily improve performance.
AM Pools 
DB Pools 
The Great Schism 
Oracle Service Request: 3-9979146351
AM or DB Pools: The Tickbox
AM or DB Pools: The Options 
Begin Request Process Request Send Response 
jbo.doconnectionpooling=false (Default)
AM or DB Pools: The Options 
Begin Request Process Request Send Response 
jbo.doconnectionpooling=true
“AM or DB Pools”: What Docs Say 
51.2.6 What You May Need to Know About How Database 
and Application Module Pools Cooperate 
Performance Tip: 
Leave the “jbo.doconnectionpooling” configuration 
parameter set to “false” for best performance without 
sacrificing scalability and reliability. 
Developing Fusion Web Applications with Oracle Application Development Framework
AM or DB Pools: Memory 
char[] and byte[] (%) in ADF 11g
AM or DB Pools: Memory 
char[] and byte[] (%) in ADF 12c
AM or DB Pools: What we say 
jbo.doconnectionpooling=false used to be best practice with 
Oracle JDBC Drivers versions 8i or 9i, designed for minimal 
memory use. 
Driver’s performance improved by an average of 30% on 10i 
version, by storing queried data into buffer (char[] and byte[]) arrays. 
These buffers consume large amounts of memory that gets freed 
only when statements are closed. 
Holding statements open in ADF BC is no longer necessary since 
“Statement Caching” was introduced at Datasource level.
AM vs DB Pools: What we say 
jbo.doconnectionpooling=false brings scalability 
problems with ADF 11g, but improves on ADF 12c 
jbo.doconnectionpooling=true is the way OJDBC was 
designed to be used on latest versions. 
jbo.doconnectionpooling=false should be either dropped 
or re-architected (javax.sql.rowset.CachedRowSet )
Activation-Safe AMs 
Oracle Service Request: SR 3-9979203251 
The trouble with high loads
“Activation-Safe”: What Docs Say 
50.10 Testing to Ensure Your Application Module is 
Activation-Safe 
“If you have not explicitly tested that your application module 
functions when its pending state gets activated from a 
passivation snapshot, then you may encounter an unpleasant 
surprise in your production environment when heavy system 
load tests this aspect of your system for the first time.” 
Developing Fusion Web Applications with Oracle Application Development Framework
“Activation-Safe”: What we say 
Few ADF teams are doing activation-safe testing from 
project start. 
Fixing already built ADF applications is expensive and 
sometimes impossible to fix without significant refactoring.
“Activation-Safe”: What we say 
If max number of users is previously known, the application 
module pool can be configured to suppress recycling. 
Recycling application modules with the purpose of saving 
memory is wrong idea of scalability. 
Activation-safety is mandatory for ADF systems running in 
Failover Cluster environments, otherwise it may be ignored.
Maximum Number 
of Regions 
Code vs performance 
Oracle Service Request: 3-9979119591
Max No of Regions: What Docs Say 
8.3.6 ADFc: Region Usage 
“Adding regions to a page can be a powerful addition to the 
application. However, regions can be a resource-intensive 
component on the page. For better performance, consider using 
regions only when the specific functionality is required.” 
Fusion Middleware Performance and 
Tuning Guide 11 g 
“10 is the maximum amount of regions that you should have on a 
single page just for good performance.” 
ADF Architecture TV -Performance and Tuning - Controller and View Layer
Max No of Regions: Methodology 
Goal Refactoring a complex page with a hierarchy of 25 
regions to a page with a single region, preserving 
the UI Component layout. 
We made sure the data was previously queried 
and cached before page load, so database hit 
would not affect the measurements.
Max No of Regions: Response Time
Max No of Regions: Conclusions 
Subsequent testing while refactoring from 25 regions to 1 region didn’t 
show any significant improvement below 10 regions use. The 
improvement was minimal and increased constantly while number of 
regions decreased. 
Response time overhead when using 25 regions was 100 ms. 
This is less than 2% of the response time, when querying is included. 
Production ADF applications handle thousands of users with 40 regions 
on the landing page.
JSP vs Facelets 
Is conversion to Facelets necessary?
JSP vs Facelets: What Docs say 
“Unlike JSP documents, which are compiled into an 
intermediate Servlet at runtime, Facelets don’t impose this 
unnecessary overhead and build the JSF component tree 
directly. 
This leads to far better performance in the component tree 
creation and page rendering processes.” 
JavaServer Faces 2.0 Overview and Adoption Roadmap in Oracle ADF Faces
JSP vs Facelets: Methodology 
Goal 
Tools 
Migrating a 12c application from jsp to facelets. 
Oracle Application Testing Suite, DMS Spy 
Servlet
JSP vs Facelets: Response Time 
Faster initialization of facelets
References 
http://docs.oracle.com/middleware/1213/adf/develop/index.html 
http://www.oracle.com/technetwork/database/application-development/jdbc-memory-management- 
12c-1964666.pdf 
https://www.youtube.com/watch?v=FO1soDjSpO4 
http://www.oracle.com/technetwork/developer-tools/adf/learnmore/adffaces-jsf20-190927.pdf

More Related Content

What's hot

Offline Web with Oracle JET
Offline Web with Oracle JETOffline Web with Oracle JET
Offline Web with Oracle JETandrejusb
 
Oracle JET and WebSocket
Oracle JET and WebSocketOracle JET and WebSocket
Oracle JET and WebSocketandrejusb
 
A Designer's Intro to Oracle JET
A Designer's Intro to Oracle JETA Designer's Intro to Oracle JET
A Designer's Intro to Oracle JETLauren Beatty
 
Deep Dive into Oracle ADF Transactions
Deep Dive into Oracle ADF TransactionsDeep Dive into Oracle ADF Transactions
Deep Dive into Oracle ADF TransactionsEugene Fedorenko
 
ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)Wilfred van der Deijl
 
A-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewA-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewSteven Davelaar
 
Implementing Data Caching and Data Synching Using Oracle MAF
Implementing Data Caching and Data Synching Using Oracle MAFImplementing Data Caching and Data Synching Using Oracle MAF
Implementing Data Caching and Data Synching Using Oracle MAFSteven Davelaar
 
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignOracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignChris Muir
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationChris Muir
 
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...Lucas Jellema
 
Java EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolithJava EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolithMarkus Eisele
 
Turbo Enterprise Web 2.0 Ajax World 20081
Turbo Enterprise Web 2.0 Ajax World 20081Turbo Enterprise Web 2.0 Ajax World 20081
Turbo Enterprise Web 2.0 Ajax World 20081rajivmordani
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsChris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewChris Muir
 

What's hot (20)

Offline Web with Oracle JET
Offline Web with Oracle JETOffline Web with Oracle JET
Offline Web with Oracle JET
 
Oracle JET and WebSocket
Oracle JET and WebSocketOracle JET and WebSocket
Oracle JET and WebSocket
 
A Designer's Intro to Oracle JET
A Designer's Intro to Oracle JETA Designer's Intro to Oracle JET
A Designer's Intro to Oracle JET
 
Deep Dive into Oracle ADF Transactions
Deep Dive into Oracle ADF TransactionsDeep Dive into Oracle ADF Transactions
Deep Dive into Oracle ADF Transactions
 
Oracle JET overview
Oracle JET overviewOracle JET overview
Oracle JET overview
 
ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)
 
A-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewA-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator Overview
 
JavaCro'14 - Consuming Java EE Backends in Desktop, Web, and Mobile Frontends...
JavaCro'14 - Consuming Java EE Backends in Desktop, Web, and Mobile Frontends...JavaCro'14 - Consuming Java EE Backends in Desktop, Web, and Mobile Frontends...
JavaCro'14 - Consuming Java EE Backends in Desktop, Web, and Mobile Frontends...
 
Implementing Data Caching and Data Synching Using Oracle MAF
Implementing Data Caching and Data Synching Using Oracle MAFImplementing Data Caching and Data Synching Using Oracle MAF
Implementing Data Caching and Data Synching Using Oracle MAF
 
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignOracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
 
Azure Websites
Azure WebsitesAzure Websites
Azure Websites
 
AMIS Oracle OpenWorld 2013 Review Part 2 - Platform Middleware Publication
AMIS Oracle OpenWorld 2013 Review Part 2 - Platform Middleware PublicationAMIS Oracle OpenWorld 2013 Review Part 2 - Platform Middleware Publication
AMIS Oracle OpenWorld 2013 Review Part 2 - Platform Middleware Publication
 
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
ADF in Action - getting (re)acquainted with Oracle’s premier application deve...
 
Java EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolithJava EE microservices architecture - evolving the monolith
Java EE microservices architecture - evolving the monolith
 
Weblogic deployment
Weblogic deploymentWeblogic deployment
Weblogic deployment
 
Turbo Enterprise Web 2.0 Ajax World 20081
Turbo Enterprise Web 2.0 Ajax World 20081Turbo Enterprise Web 2.0 Ajax World 20081
Turbo Enterprise Web 2.0 Ajax World 20081
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow Overview
 
Restful Services
Restful ServicesRestful Services
Restful Services
 

Viewers also liked

Oracle adf performance tips
Oracle adf performance tipsOracle adf performance tips
Oracle adf performance tipsVinay Kumar
 
Adf performance tuning tips slideshare
Adf performance tuning tips slideshareAdf performance tuning tips slideshare
Adf performance tuning tips slideshareVinay Kumar
 
ADF Value Proposition in 10 key points
ADF Value Proposition in 10 key pointsADF Value Proposition in 10 key points
ADF Value Proposition in 10 key pointsJaime Cid
 
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...Amit Singh
 
Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012Zubair Ali
 
ORACLE FRAMEWORK ONLINE TRAINING
ORACLE FRAMEWORK ONLINE TRAININGORACLE FRAMEWORK ONLINE TRAINING
ORACLE FRAMEWORK ONLINE TRAININGTRAINING ICON
 
Oracle Application Technical - Hz architecture
Oracle Application Technical - Hz architectureOracle Application Technical - Hz architecture
Oracle Application Technical - Hz architecturePrasad V
 
Oaf development-guide
Oaf development-guideOaf development-guide
Oaf development-guide俊 朱
 
Building customer relationships without being a creep Chris Hayes R2i - Gil...
Building customer relationships without being a creep   Chris Hayes R2i - Gil...Building customer relationships without being a creep   Chris Hayes R2i - Gil...
Building customer relationships without being a creep Chris Hayes R2i - Gil...Chris Hayes
 

Viewers also liked (18)

Oracle adf performance tips
Oracle adf performance tipsOracle adf performance tips
Oracle adf performance tips
 
Adf performance tuning tips slideshare
Adf performance tuning tips slideshareAdf performance tuning tips slideshare
Adf performance tuning tips slideshare
 
Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle Ope...
Real-World Load Testing of ADF Fusion Applications Demonstrated  - Oracle Ope...Real-World Load Testing of ADF Fusion Applications Demonstrated  - Oracle Ope...
Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle Ope...
 
ADF Value Proposition in 10 key points
ADF Value Proposition in 10 key pointsADF Value Proposition in 10 key points
ADF Value Proposition in 10 key points
 
37727897 Oaf Basics
37727897 Oaf Basics37727897 Oaf Basics
37727897 Oaf Basics
 
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
 
Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012Forms11 presentation at ssuet 05 sep-2012
Forms11 presentation at ssuet 05 sep-2012
 
ORACLE FRAMEWORK ONLINE TRAINING
ORACLE FRAMEWORK ONLINE TRAININGORACLE FRAMEWORK ONLINE TRAINING
ORACLE FRAMEWORK ONLINE TRAINING
 
Real life forms to adf
Real life forms to adfReal life forms to adf
Real life forms to adf
 
Oracle Application Technical - Hz architecture
Oracle Application Technical - Hz architectureOracle Application Technical - Hz architecture
Oracle Application Technical - Hz architecture
 
Tca presentation
Tca presentationTca presentation
Tca presentation
 
Oaf development-guide
Oaf development-guideOaf development-guide
Oaf development-guide
 
Extensions in OAF
Extensions in OAF Extensions in OAF
Extensions in OAF
 
Oaf personalization examples
Oaf personalization examplesOaf personalization examples
Oaf personalization examples
 
Oracle TCA 101
Oracle TCA 101Oracle TCA 101
Oracle TCA 101
 
Building customer relationships without being a creep Chris Hayes R2i - Gil...
Building customer relationships without being a creep   Chris Hayes R2i - Gil...Building customer relationships without being a creep   Chris Hayes R2i - Gil...
Building customer relationships without being a creep Chris Hayes R2i - Gil...
 
Oaf personaliztion examples
Oaf personaliztion examplesOaf personaliztion examples
Oaf personaliztion examples
 
Oracle ADF Case Study
Oracle ADF Case StudyOracle ADF Case Study
Oracle ADF Case Study
 

Similar to ADF Mythbusters UKOUG'14

Make Your Application “Oracle RAC Ready” & Test For It
Make Your Application “Oracle RAC Ready” & Test For ItMake Your Application “Oracle RAC Ready” & Test For It
Make Your Application “Oracle RAC Ready” & Test For ItMarkus Michalewicz
 
Weblogic performance tuning2
Weblogic performance tuning2Weblogic performance tuning2
Weblogic performance tuning2Aditya Bhuyan
 
Weblogic Cluster advanced performance tuning
Weblogic Cluster advanced performance tuningWeblogic Cluster advanced performance tuning
Weblogic Cluster advanced performance tuningAditya Bhuyan
 
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACHPERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACHcscpconf
 
Performance comparison on java technologies a practical approach
Performance comparison on java technologies   a practical approachPerformance comparison on java technologies   a practical approach
Performance comparison on java technologies a practical approachcsandit
 
Weblogic performance tuning1
Weblogic performance tuning1Weblogic performance tuning1
Weblogic performance tuning1Aditya Bhuyan
 
Weblogic Cluster performance tuning
Weblogic Cluster performance tuningWeblogic Cluster performance tuning
Weblogic Cluster performance tuningAditya Bhuyan
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Prolifics
 
Handling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsDirecti Group
 
Oracle Coherence: in-memory datagrid
Oracle Coherence: in-memory datagridOracle Coherence: in-memory datagrid
Oracle Coherence: in-memory datagridEmiliano Pecis
 
Oracle 10g rac_overview
Oracle 10g rac_overviewOracle 10g rac_overview
Oracle 10g rac_overviewRobel Parvini
 
J2EE Batch Processing
J2EE Batch ProcessingJ2EE Batch Processing
J2EE Batch ProcessingChris Adkin
 
DB2 for z/O S Data Sharing
DB2 for z/O S  Data  SharingDB2 for z/O S  Data  Sharing
DB2 for z/O S Data SharingSurekha Parekh
 
🏗️Improve database performance with connection pooling and load balancing tec...
🏗️Improve database performance with connection pooling and load balancing tec...🏗️Improve database performance with connection pooling and load balancing tec...
🏗️Improve database performance with connection pooling and load balancing tec...Alireza Kamrani
 
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2Vladimir Bacvanski, PhD
 
Ops Jumpstart: MongoDB Administration 101
Ops Jumpstart: MongoDB Administration 101Ops Jumpstart: MongoDB Administration 101
Ops Jumpstart: MongoDB Administration 101MongoDB
 
Impact2014 session # 1523 performance optimization using ibm java on z and w...
Impact2014  session # 1523 performance optimization using ibm java on z and w...Impact2014  session # 1523 performance optimization using ibm java on z and w...
Impact2014 session # 1523 performance optimization using ibm java on z and w...Elena Nanos
 
How to Build Scalable Websites in the Cloud
How to Build Scalable Websites in the CloudHow to Build Scalable Websites in the Cloud
How to Build Scalable Websites in the CloudRightScale
 

Similar to ADF Mythbusters UKOUG'14 (20)

Make Your Application “Oracle RAC Ready” & Test For It
Make Your Application “Oracle RAC Ready” & Test For ItMake Your Application “Oracle RAC Ready” & Test For It
Make Your Application “Oracle RAC Ready” & Test For It
 
Weblogic performance tuning2
Weblogic performance tuning2Weblogic performance tuning2
Weblogic performance tuning2
 
Weblogic Cluster advanced performance tuning
Weblogic Cluster advanced performance tuningWeblogic Cluster advanced performance tuning
Weblogic Cluster advanced performance tuning
 
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACHPERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
 
Performance comparison on java technologies a practical approach
Performance comparison on java technologies   a practical approachPerformance comparison on java technologies   a practical approach
Performance comparison on java technologies a practical approach
 
Mres presentation
Mres presentationMres presentation
Mres presentation
 
Weblogic performance tuning1
Weblogic performance tuning1Weblogic performance tuning1
Weblogic performance tuning1
 
Weblogic Cluster performance tuning
Weblogic Cluster performance tuningWeblogic Cluster performance tuning
Weblogic Cluster performance tuning
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
 
Handling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale Systems
 
Oracle Coherence: in-memory datagrid
Oracle Coherence: in-memory datagridOracle Coherence: in-memory datagrid
Oracle Coherence: in-memory datagrid
 
Oracle 10g rac_overview
Oracle 10g rac_overviewOracle 10g rac_overview
Oracle 10g rac_overview
 
Amazon Aurora (Debanjan Saha) - AWS DB Day
Amazon Aurora (Debanjan Saha) - AWS DB DayAmazon Aurora (Debanjan Saha) - AWS DB Day
Amazon Aurora (Debanjan Saha) - AWS DB Day
 
J2EE Batch Processing
J2EE Batch ProcessingJ2EE Batch Processing
J2EE Batch Processing
 
DB2 for z/O S Data Sharing
DB2 for z/O S  Data  SharingDB2 for z/O S  Data  Sharing
DB2 for z/O S Data Sharing
 
🏗️Improve database performance with connection pooling and load balancing tec...
🏗️Improve database performance with connection pooling and load balancing tec...🏗️Improve database performance with connection pooling and load balancing tec...
🏗️Improve database performance with connection pooling and load balancing tec...
 
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
 
Ops Jumpstart: MongoDB Administration 101
Ops Jumpstart: MongoDB Administration 101Ops Jumpstart: MongoDB Administration 101
Ops Jumpstart: MongoDB Administration 101
 
Impact2014 session # 1523 performance optimization using ibm java on z and w...
Impact2014  session # 1523 performance optimization using ibm java on z and w...Impact2014  session # 1523 performance optimization using ibm java on z and w...
Impact2014 session # 1523 performance optimization using ibm java on z and w...
 
How to Build Scalable Websites in the Cloud
How to Build Scalable Websites in the CloudHow to Build Scalable Websites in the Cloud
How to Build Scalable Websites in the Cloud
 

More from andrejusb

Machine Learning Applied - Tabular Dataset Models and Sentiment Analysis
Machine Learning Applied - Tabular Dataset Models and Sentiment AnalysisMachine Learning Applied - Tabular Dataset Models and Sentiment Analysis
Machine Learning Applied - Tabular Dataset Models and Sentiment Analysisandrejusb
 
JavaScript Development on Steroids with Oracle Visual Builder
JavaScript Development on Steroids with Oracle Visual BuilderJavaScript Development on Steroids with Oracle Visual Builder
JavaScript Development on Steroids with Oracle Visual Builderandrejusb
 
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and TensorFlow
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and TensorFlowMachine Learning Applied - Contextual Chatbots Coding, Oracle JET and TensorFlow
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and TensorFlowandrejusb
 
Reliable, Fast, Engaging Offline-First Architecture for JavaScript Applications
 Reliable, Fast, Engaging Offline-First Architecture for JavaScript Applications Reliable, Fast, Engaging Offline-First Architecture for JavaScript Applications
Reliable, Fast, Engaging Offline-First Architecture for JavaScript Applicationsandrejusb
 
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensor...
 Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensor... Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensor...
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensor...andrejusb
 
Microservice Approach for Web Development with Micro Frontends
Microservice Approach for Web Development with Micro FrontendsMicroservice Approach for Web Development with Micro Frontends
Microservice Approach for Web Development with Micro Frontendsandrejusb
 
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensorflow
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and TensorflowMachine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensorflow
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensorflowandrejusb
 
Oracle Development Cloud Service
Oracle Development Cloud ServiceOracle Development Cloud Service
Oracle Development Cloud Serviceandrejusb
 
Oracle Java Cloud Service: How to Estimate Production System Performance
Oracle Java Cloud Service: How to Estimate Production System PerformanceOracle Java Cloud Service: How to Estimate Production System Performance
Oracle Java Cloud Service: How to Estimate Production System Performanceandrejusb
 
End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...
End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...
End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...andrejusb
 
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI SupportOracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Supportandrejusb
 

More from andrejusb (11)

Machine Learning Applied - Tabular Dataset Models and Sentiment Analysis
Machine Learning Applied - Tabular Dataset Models and Sentiment AnalysisMachine Learning Applied - Tabular Dataset Models and Sentiment Analysis
Machine Learning Applied - Tabular Dataset Models and Sentiment Analysis
 
JavaScript Development on Steroids with Oracle Visual Builder
JavaScript Development on Steroids with Oracle Visual BuilderJavaScript Development on Steroids with Oracle Visual Builder
JavaScript Development on Steroids with Oracle Visual Builder
 
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and TensorFlow
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and TensorFlowMachine Learning Applied - Contextual Chatbots Coding, Oracle JET and TensorFlow
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and TensorFlow
 
Reliable, Fast, Engaging Offline-First Architecture for JavaScript Applications
 Reliable, Fast, Engaging Offline-First Architecture for JavaScript Applications Reliable, Fast, Engaging Offline-First Architecture for JavaScript Applications
Reliable, Fast, Engaging Offline-First Architecture for JavaScript Applications
 
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensor...
 Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensor... Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensor...
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensor...
 
Microservice Approach for Web Development with Micro Frontends
Microservice Approach for Web Development with Micro FrontendsMicroservice Approach for Web Development with Micro Frontends
Microservice Approach for Web Development with Micro Frontends
 
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensorflow
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and TensorflowMachine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensorflow
Machine Learning Applied - Contextual Chatbots Coding, Oracle JET and Tensorflow
 
Oracle Development Cloud Service
Oracle Development Cloud ServiceOracle Development Cloud Service
Oracle Development Cloud Service
 
Oracle Java Cloud Service: How to Estimate Production System Performance
Oracle Java Cloud Service: How to Estimate Production System PerformanceOracle Java Cloud Service: How to Estimate Production System Performance
Oracle Java Cloud Service: How to Estimate Production System Performance
 
End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...
End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...
End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...
 
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI SupportOracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
 

Recently uploaded

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

ADF Mythbusters UKOUG'14

  • 1. ADF Mythbusters Andrejus Baranovskis Florin Marcus
  • 2. Company Profile ADF, ADF Mobile, BPM, SOA, WebCenter Small Team of Experts, Focused on Technical Quality Results Customers – Global Corporations, Medium and Small Business Oracle Technical Blog – 8 Years (~700 posts) Oracle Fusion Middleware Innovation Award 2010, SOA Partner Community Award for Outstanding Contribution Across the Globe 2010
  • 3. Agenda Batches Of AM Pools and DB Connections Pools Activation-Safe Application Modules Maximum Number of Regions Per Page JSP vs Facelets
  • 4. “Batches Of” Oracle Service Request: 3-9978776141 Performance and Memory Impact
  • 6. “Batches Of”: How It Works Batches of 1 - a network round trip for each record
  • 7. “Batches Of”: How It Works Batches of 5 - a network round trip for every 5 records
  • 8. “Batches Of”: What Docs Say 9.2.4.2 Consider Whether Fetching One Row at a Time is Appropriate [...] By default, the framework will fetch rows in batches of one row at a time. If you are fetching any more than one row, you will gain efficiency by setting this in Batches of value. However the higher the number, the larger the client-side buffer required, so avoid setting this number arbitrarily high. If you are displaying results n rows at a time in the user interface, it's good to set the fetch size to at least n+1 so that each page of results can be retrieved in a single round trip to the database. Developing Fusion Web Applications with Oracle Application Development Framework
  • 9. “Batches Of”: Methodology Target Scope Tools 4 ADF applications in production for more than 6 months. Typical use cases: multiple queries per page, returning less than 100 records each. Fetching millions of records over JDBC is out of scope. JMeter, Oracle Application Testing Suite, JRockit, Java Mission Control, Weblogic Console, Spy Servlet, Redsamurai Performance Audit.
  • 10. Batches Of: Test Results No relevant impact when: Less than 15 active user sessions and “Connection Delay Time” is lower than 150 ms.
  • 11. Batches Of: Response Time Response time with 100 user sessions
  • 12. Batches Of: Memory Consumption ADF 11g One user browsing the application
  • 13. Batches Of: Memory Consumption ADF 11g ADF 12c One user browsing the application
  • 14. Batches Of: Conclusions ADF 11g: ADF 12c: Huge impact over memory size due to OJDBC Driver 11g design, intentionally trading memory for performance. Memory impact is significantly lower because new version of OJDBC Driver is less memory hungry. ADF 12c scales better!
  • 15. Batches Of: Conclusions Performance improvement are significant when values are between 10 - 40. Oracle JDBC Dev Team suggests the “Batches Of” (Fetch Size) to be less than 100. Retrieving all records in a single round trip doesn’t necessarily improve performance.
  • 16. AM Pools DB Pools The Great Schism Oracle Service Request: 3-9979146351
  • 17. AM or DB Pools: The Tickbox
  • 18. AM or DB Pools: The Options Begin Request Process Request Send Response jbo.doconnectionpooling=false (Default)
  • 19. AM or DB Pools: The Options Begin Request Process Request Send Response jbo.doconnectionpooling=true
  • 20. “AM or DB Pools”: What Docs Say 51.2.6 What You May Need to Know About How Database and Application Module Pools Cooperate Performance Tip: Leave the “jbo.doconnectionpooling” configuration parameter set to “false” for best performance without sacrificing scalability and reliability. Developing Fusion Web Applications with Oracle Application Development Framework
  • 21. AM or DB Pools: Memory char[] and byte[] (%) in ADF 11g
  • 22. AM or DB Pools: Memory char[] and byte[] (%) in ADF 12c
  • 23. AM or DB Pools: What we say jbo.doconnectionpooling=false used to be best practice with Oracle JDBC Drivers versions 8i or 9i, designed for minimal memory use. Driver’s performance improved by an average of 30% on 10i version, by storing queried data into buffer (char[] and byte[]) arrays. These buffers consume large amounts of memory that gets freed only when statements are closed. Holding statements open in ADF BC is no longer necessary since “Statement Caching” was introduced at Datasource level.
  • 24. AM vs DB Pools: What we say jbo.doconnectionpooling=false brings scalability problems with ADF 11g, but improves on ADF 12c jbo.doconnectionpooling=true is the way OJDBC was designed to be used on latest versions. jbo.doconnectionpooling=false should be either dropped or re-architected (javax.sql.rowset.CachedRowSet )
  • 25. Activation-Safe AMs Oracle Service Request: SR 3-9979203251 The trouble with high loads
  • 26. “Activation-Safe”: What Docs Say 50.10 Testing to Ensure Your Application Module is Activation-Safe “If you have not explicitly tested that your application module functions when its pending state gets activated from a passivation snapshot, then you may encounter an unpleasant surprise in your production environment when heavy system load tests this aspect of your system for the first time.” Developing Fusion Web Applications with Oracle Application Development Framework
  • 27. “Activation-Safe”: What we say Few ADF teams are doing activation-safe testing from project start. Fixing already built ADF applications is expensive and sometimes impossible to fix without significant refactoring.
  • 28. “Activation-Safe”: What we say If max number of users is previously known, the application module pool can be configured to suppress recycling. Recycling application modules with the purpose of saving memory is wrong idea of scalability. Activation-safety is mandatory for ADF systems running in Failover Cluster environments, otherwise it may be ignored.
  • 29. Maximum Number of Regions Code vs performance Oracle Service Request: 3-9979119591
  • 30. Max No of Regions: What Docs Say 8.3.6 ADFc: Region Usage “Adding regions to a page can be a powerful addition to the application. However, regions can be a resource-intensive component on the page. For better performance, consider using regions only when the specific functionality is required.” Fusion Middleware Performance and Tuning Guide 11 g “10 is the maximum amount of regions that you should have on a single page just for good performance.” ADF Architecture TV -Performance and Tuning - Controller and View Layer
  • 31. Max No of Regions: Methodology Goal Refactoring a complex page with a hierarchy of 25 regions to a page with a single region, preserving the UI Component layout. We made sure the data was previously queried and cached before page load, so database hit would not affect the measurements.
  • 32. Max No of Regions: Response Time
  • 33. Max No of Regions: Conclusions Subsequent testing while refactoring from 25 regions to 1 region didn’t show any significant improvement below 10 regions use. The improvement was minimal and increased constantly while number of regions decreased. Response time overhead when using 25 regions was 100 ms. This is less than 2% of the response time, when querying is included. Production ADF applications handle thousands of users with 40 regions on the landing page.
  • 34. JSP vs Facelets Is conversion to Facelets necessary?
  • 35. JSP vs Facelets: What Docs say “Unlike JSP documents, which are compiled into an intermediate Servlet at runtime, Facelets don’t impose this unnecessary overhead and build the JSF component tree directly. This leads to far better performance in the component tree creation and page rendering processes.” JavaServer Faces 2.0 Overview and Adoption Roadmap in Oracle ADF Faces
  • 36. JSP vs Facelets: Methodology Goal Tools Migrating a 12c application from jsp to facelets. Oracle Application Testing Suite, DMS Spy Servlet
  • 37. JSP vs Facelets: Response Time Faster initialization of facelets
  • 38. References http://docs.oracle.com/middleware/1213/adf/develop/index.html http://www.oracle.com/technetwork/database/application-development/jdbc-memory-management- 12c-1964666.pdf https://www.youtube.com/watch?v=FO1soDjSpO4 http://www.oracle.com/technetwork/developer-tools/adf/learnmore/adffaces-jsf20-190927.pdf