Should I use preloading or not?
By ACShorten on Sep 09, 2009
One of the features of the Oracle Utilities Application Framework is the ability to preload the screens for performance reasons. Let me explain about this facility.
All the screens in the product are dynamically built using the screen definition and meta-data to deliver the screen to the Web Application Server. This allows implementations to customize the screen literals using meta-data (including multi-lingual tags) and also allow extensions to be added dynamically ( via client side user exits). This can delay the startup of the product as the preload dynamically all screens (within the configured scope).
This behavior can happen at application startup time (preloading) or when the screen is first accessed by the first user. The latter is a slight overhead (10-40ms) on the first call for the first user. After the screen is dynamically built, it is available to all users, just like the preload option.
So should I preload or not?
- If your site is sensitive to availability then a faster product startup is required so disabling preloading is suggested.
- If your site does not use a majority of the main menu then disabling preloading is suggested. Preloading at a minimum will process all of the potential main menu items whether they are used at your site or not.
- If your site is not sensitive to availability and uses a majority of the main menu then preloading should be scoped to only preload the main menu. The administration meny is not used by the majority of your end users so it is not efficient to preload.
Preloading is controlled by two product paramaters: disablePreload and preloadAllPages. The "Technical Best Practices" whitepaper on Metalink (KB Id 560367.1) outlines the valid values for these parameters.
As an aside, one of the big reasons preloading was included was for demonstrations. Typically the products are demonstrated on laptops by sales personnel so preloading screens for all functions them is ideal. They are not startup time sensitive and wish to minimize ANY delay when displaying screens on a laptop.
If you are undecided, remember this, the overhead on preloading can be minimal if it is not enabled at startup time as it only affects the first user on an individual screen. Over 99% of the time whether the screen is preloaded or not, the users will not see the difference. The differentiator is whether you want a quicker startup time or do not want that first user to have a slight delay when they first hit the screen, in that case preloading is for you.
We have sites who preload and sites that don't preload in production.