By ACShorten on Jun 16, 2011
With the popularity of the Configuration Tools facility within the product for customer extension the increase load of XPath may cause memory issues under particular user transaction conditions (in particular high volume patterns). As with most technology in the Oracle Utilities Application Framework, the XPath statements used in the Configuration Tools are cached for improved performance. Increased load on the cache may cause memory issues at higher volumes.
To minimize this the Oracle Utilities Application Framework has introduced two new settings in the spl.properties file for the Business Application Server, where the dimensions of the XPath statement cache are defined. These settings allow the site to optimize the control the XPath cache to support caching of commonly used XPath statements but allowing for optimal specification of the cache size (to help prevent memory issues).
The settings are as follows:
com.oracle.XPath.LRUSize - Maximum number of XPath queries to hold in cache across all threads. A zero (0) value indicates no caching, minus one (-1) value indicates unlimited or other positive values indicate number of queries stored in cache. Cache is managed on a Least Reused basis. For memory requirements, assume approximately 7k per query). The default in the template is 2000 queries.
com.oracle.XPath.flushTimeout - The time, in seconds, when the cache is automatically cleared. A zero (0) value indicates never auto-flush cache and a positive value indicates the number of seconds. The default in the template is 86400 seconds (24 hours).
In most cases the defaults are sufficient but can be altered if the following is guidelines are :
If there are memory issues (e.g. out of memory) then decreasing the com.oracle.XPath.LRUSize or decreasing the com.oracle.XPath.flushTimeout may result in a reduction in memory issues. com.oracle.XPath.LRUSize has a greater impact on memory than com.oracle.XPath.flushTimeout.
If decreasing value the value of the com.oracle.XPath.LRUSize causes performance issues, consider changing the com.oracle.XPath.flushTimeout initially only and ascertain if that works for your site.
There are no strict guidelines on values for both parameters as cache performance is subject to the user traffic profile and the amount and types of XPath queries executed. Experimentation will assist in determining the right mix of both settings for your site.
Note: This facility is available for Oracle Utilities Application Framework V2.2 and above after installing patches 11885007 (for V2.2) or 12357553 for (V4.1) from My Oracle Support.