|
The index cache is a buffer in memory that holds index pages. How many index pages are in memory at one time depends upon the amount of memory allocated to the cache.
|
| The data file cache is a buffer in memory that holds compressed data files (.pag files). Essbase allocates memory to the data file cache during data load, calculation, and retrieval operations, as needed. The data file cache is used only when direct I/O is in effect. |
|
The data cache is a buffer in memory that holds uncompressed data blocks. Essbase allocates memory to the data cache during data load, calculation, and retrieval operations, as needed.
|
|
The calculator cache is a buffer in memory that Essbase uses to create and track data blocks during calculation operations.
|
|
The dynamic calculator cache is a buffer in memory that Essbase uses to store all of the blocks needed for a calculation of a Dynamic Calc member in a dense dimension (for example, for a query).
|
Index size Cache
| |
|
|
|
|
Buffered I/O: 1024 KB (1048576 bytes)
Direct I/O: 10240 KB (10485760 bytes)
| Combined size of all Index Files.
essn.ind files, if possible; as large as possible otherwise. Do not set this cache size higher than the total index size, as no performance improvement results. To determine the total index size, see |
Data file Cache
| | |
Direct I/O: 10240 KB (10485760 bytes)
|
Direct I/O: 32768 KB (33554432 bytes)
|
Combined size of all essn.pag files, if possible; otherwise as large as possible.
This cache setting not used if Essbase is set to use buffered I/O.
|
Data Cache
| | |
|
|
0.125 * the value of data file cache size. Increase value if any of these conditions exist:
- Many concurrent users are accessing different data blocks.
- Calculation scripts contain functions on sparse ranges, and the functions require all members of a range to be in memory (for example, when using @RANK and @RANGE).
- For data load, the number of threads specified by the DLTHREADSWRITE setting is very high and the expanded block size is large.
|
Calculator Cache
| | |
|
|
Bitmap size in bytes * Number of bitmaps
|
|
|
Max ((member combinations on the bitmap dimensions/8), 4)
|
|
|
Maximum number of dependent parents in the anchoring dimension + 2 constant bitmaps
|
|
|
|
Option 1 (provides optimal performance)
|
|
|
|
|
|
This setting specifies the maximum size Essbase can allocate to each dynamic calculator cache on the server.
|
|
Recommended setting value = C * S * U.
- C is the value of the appropriate CALCLOCKBLOCK setting in the essbase.cfg file. (The SET LOCKBLOCK command specifies which CALCLOCKBLOCK setting to use.)
- S is the size of the largest expanded block across all databases on the machine. To calculate the expanded block size, multiply the number of members (including Dynamic Calc members and dynamic time series members) in each dense dimension together for the number of cells in the block, and then multiply the number of cells by the size of each member cell, 8 bytes.
For example, consider the member count in dense dimensions in Sample Basic:
- 19 (Year, with 12 stored members and 7 Dynamic Calc members, including HTD and QTD)
- 14 (Measures, with 8 stored members and 6 Dynamic Calc members)
- 4 (Scenario, with 2 stored members and 2 Dynamic Calc members)
Note: Label Only members are not counted.
S = 19 * 14 * 4 cells (8 bytes/cell) = 8512 bytes per block
This number is shown in the application log as the logical block size.
- U is the maximum number of expected concurrent users on the database that has the largest number of concurrent users.
Assigning the value 0 (zero) to DYNCALCACHEMAXSIZE tells Essbase not to use dynamic calculator caches.
By default, the maximum size for this value is 20 MB (20,971,520 bytes).
|
|
|
If Essbase uses all of the area allocated for a dynamic calculator cache, this setting tells Essbase whether to wait until space becomes available in the cache or to immediately write and calculate the blocks in memory outside the dynamic calculator cache. If the dynamic calculator cache is too small, it is possible for multiple threads to be in queue, each thread waiting to calculate its data blocks.
|
|
Recommended setting value = FALSE (default value).
Before setting to TRUE, try these alternatives:
- Add physical memory to the server machine
- Increase the value of DYNCALCCACHEMAXSIZE, test, and repeat until you verify that you cannot use any more memory for the dynamic calculator cache.
|
|
|
If Essbase is to wait for available space in the dynamic calculator cache, this setting defines how long it waits.
|
| Reviewing Dynamic Calculator Cache Usage.
Recommended setting value = WT / B.
- WT is the maximum tolerable wait time for a query; for example, 5 seconds.
- B is the total number of logical blocks accessed in the largest query.
To determine the value of B, check the messages in the application log for the largest number of Dyn.Calc.Cache "Big Block Allocs" for a query, as discussed in
|
|
|
If Essbase has waited the specified time and space is still not available in the dynamic calculator cache, this setting tells Essbase whether to write and calculate the blocks immediately outside the dynamic calculator cache or to create space in the dynamic calculator cache by swapping out blocks and temporarily compressing the swapped blocks in a dynamic calculator cache compressed-block buffer.
|
|
Recommended setting value = FALSE (default value).
Set to TRUE only if you are experiencing severe memory shortage problems.
|
DYNCALCCACHECOMPRBLKBUFSIZE
|
|
If Essbase has waited the specified wait time and the DYNCALCCACHEBLKRELEASE setting is TRUE, this setting is the size of the dynamic calculator cache compressed-block buffer.
|
| essbase.cfg file. The SET LOCKBLOCK command specifies which CALCLOCKBLOCK configuration setting is current.
Recommended setting value = (C * S) / 2.
- C is the value of the current CALCLOCKBLOCK setting in the
- S is the size of the largest expanded block across all databases on the machine. Calculate S as described for the DYNCALCCACHEMAXSIZE setting.
|
No comments:
Post a Comment