Wednesday, November 12, 2008

OBIEE Presentation Services Cache Settings

The cache is accessed when users make requests in Answers. This is not the same cache that is accessed by the Oracle BI Server. You can change the internal defaults by modifying the Oracle BI Presentation Services configuration file (instanceconfig.xml) to add the cache entries.

First of all try to have your presentation Cache on the fastest disk available (consider a "RAM drive").

Specifying the Maximum Number of Oracle BI Presentation Services Open Record Sets

From the guide:
You can override the maximum number of open record sets that Oracle BI Presentation Services keeps open at any one time. The internal default is 10. The minimum value is 3. For systems under
significant loads, you can increase this value to 500 or 1000.
The following entry is an example:
<CacheMaxEntries>100</CacheMaxEntries>

Rule of thumb: Number of concurrent users * 5.

There are a couple of more setting, but unless you have a lot of concurrent users (1000+) the "gain" of these settings is minimal.

Specifying the Maximum Amount of Time an Entry Can Exist in the Oracle BI Presentation Services Cache

From the guide:

You can override the maximum amount of time, in minutes, that an entry in the cache can exist before it is removed. The internal default is 60 (one hour). Depending on (the number of requests being run, an entry may be removed before the time limit expires.
The following entry is an example:
<CacheMaxExpireMinutes>60</CacheMaxExpireMinutes>

Rule of thumb: Don't make this any longer then 10 % of your ETL refresh rate to avoid the risk of user seeing "old" data inadvertently. Be aware that CacheMaxExpireMinutes also influenced by CacheMinUserExpireMinutes. This means that in a 24Hour ETL cycle this shouldn't be any longer then 150 minutes.

Specifying the Least Amount of Time an Entry Can Exist in the Oracle BI Presentation Services Cache

From the guide:

You can override the minimum amount of time, in minutes, that an entry in the cache can exist before it is removed. The internal default is 10.
The following entry is an example:
<CacheMinExpireMinutes>10</CacheMinExpireMinutes>

Rule of thumb: 20% of CacheMaxExpireMinutes

Specifying the Least Amount of Time an Entry Can Exist in the Oracle BI Presentation Services Cache After Use

From the Guide:

You can override the minimum amount of time, in minutes, that an entry in the cache can exist after it has been viewed by a user. The internal default is 10.
For example, if CacheMaxExpireMinutes is set to 60 minutes and a user views the entry during the 59th minute, the entry exists for that user for an additional 10 minutes. The user can continue paging through the data without requiring a new request to be run.
The following entry is an example:
<CacheMinUserExpireMinutes>10</CacheMinUserExpireMinutes>

Rule of thumb: same as CacheMinExpireMinutes

Till Next Time

This article was orginally written for the Ciber knowledge blog: http://knowledge.ciber.nl/weblog/?p=150

7 comments:

Anonymous said...

Very good information. I understand we have at least 2 caches: THe one at the server level and the one at the PResentation Services level.

When it comes to presenting results to the user... What comes first ? Presentation or Server ? I can understand (and you mentioned it in your other blog) a cache hit at the server level. Would the same rules apply to the presentation cache ?

Txs. a lot for your thoughts.

Antonio
S.Paulo/Brazil
Technical Instructor

Anonymous said...

Do you know any way to clear the Presentation Server cache without re-starting the Presentation Server?

Jon

John Minkjan said...

Hi Antonio,

The presentation server cache comes before the BI-Server cache. It's on a user/request level. It basicly checks if the same user has run the same request within the cache parameter borders.

John Minkjan said...

Hi Jon,

I haven't found a proper method, clearing it manually only works if there is no lock from the report on the cache (so you have to log out first). Maybe you can try to kick of saw.xmlDocumentCache.cleanup manually. I think you will have to write a small java applet to do that.

Regards

John

Anonymous said...

John,

Thanks - I will give it a go one day, maybe an Xmas project :)

Jon

Anonymous said...

regariding:
Do you know any way to clear the Presentation Server cache without re-starting the Presentation Server?

Isn't that done in the Administration screen under manage Session

Petrel said...

@Anonymous:
Purging BI Server Cache:

• BI Server cache is stored in the directory: d:\Oracle\OracleBIData\cache • Create the script called PurgeBICache.sql with following command:

Call SAPurgeAllCache ();

• Run the following command to invoke the script and clear the cache: nqcmd -d AnalyticsWeb -u Administrator -p Administrator -s PurgeBICache.sql -o purge_clear.log

• This will clear all the BI server cache entries for all the users.