ADF Business Components Performance Tuning

ADF Business Components Performance Tuning

July 7, 2015
frontpage, Oracle ADF

In most of the ADF outsourced projects we are developing, we need to tune the ADF application for best
performance. We do this by tuning the AppModule or the View Objects.

Application Module Tuning

When tuning the Application Module, you need to have in mind the estimated number of concurrent users. In this example we suppose this number is 75.

The Application Module tuning is as follow:

2015-07-07 14_02_51-ADF Business Components Performance Tuning (1).pdf - Google Drive

1. Initial Pool Size = 8 (number of AM instances created on first ever access, recommended to be 10% more
than estimated number of concurrent users)

2. Maximum Pool Size = 100 (number of maximum AM instances pool can create, recommended to be 20%-30% more than initial pool size)

3. Referenced Pool Size = 75 (number of active AM instances, recommended to be the same as estimated number of concurrent users – to avoid frequent passivation/activation)

4. Minimum Available Size = 5 (when set to 0, allows to release all AM instances after an idle timeout, this helps to release reserved database connections as well. Is set to 0 for tests in stress environment, in your system you may set it to a higher value, but less than referenced pool size)

5. Maximum Available Size = 25 (maximum number of AM instances after pool clean-up)

6. Idle Instance Timeout = 600 (AM instance is considered inactive after 10 minutes of inactivity, this if for the stress test. In your system, you would set it something close to Web session timeout – to prevent
frequent passivation/activation)

7. Pool Pooling Interval = 600 (AM pool is cleaned every 10 minutes)

Views Performance Tuning

In order to optimize data loading, we need to tune all View objects used to display UI tables, lists or LOVs.

For example, this view is used to display ADF table with scrollPolicy=”page” and iterator range size of 20 rows. With the following setup the View will fetch 20 rows at once from the database and load the page iterator with 20 rows at once.

2015-07-07 14_29_01-ADF Business Components Performance Tuning (1).pdf - Google Drive

These best practices are taken from official Oracle documentation and also AndrejusBaranovski’s official blog. For further details on how to create stress test and additionally optimize the settings you can refer to: Stress Testing Oracle ADF BC Applications – Passivation and Activation.

What would be your approach? Share your experience and questions in the comments below.

Todor Gigilev

Having entrepreneurial and business knowledge, I am eager to help innovative companies and startups to build their sales strategy and business model, improve their value proposition and design and develop their product. If you want a software project delivered, you can message me and I will make sure to do my best to propose the best solution. My main expertise is in the Oracle Fusion Middleware stack - I have been heavily involved in actual development, consulting and delivery of Webcenter, ADF, SOA Suite, BPM and Java EE solutions.

More Posts - Website

Follow Me:
TwitterLinkedInGoogle Plus

Do you want more great blogs like this?

Subscribe for Dreamix Blog now!