Simulate Calculations to Estimate Calculation Time
You can simulate calculation on a model of your Essbase block storage cube to estimate how long a real calculation would take. To do this, you run a calculation script with SET MSG ONLY and SET NOTICE HIGH, take note of completion times, and extrapolate.
You can simulate a calculation using SET MSG ONLY in a calculation script. A simulated calculation produces results that help you analyze the performance of a real calculation that is based on the same data and outline.
By running a simulated calculation with a command such as SET NOTICE HIGH, you can mark the relative amount of time each sparse dimension takes to complete. Then, by performing a real calculation on one or more dimensions, you can estimate how long the full calculation will take, because the time a simulated calculation takes to run is proportional to the time that the actual calculation takes to run.
For example, if the calculation starts at 9:50:00 AM, and the first notice is time-stamped at 09:50:10 AM and the second is time-stamped at 09:50:20 AM, you know that each part of the calculation took 10 seconds. If you then run a real calculation on only the first portion and note that it took 30 seconds to run, you know that the other portion also will take 30 seconds. If there were two messages total, then you would know that the real calculation will take approximately 60 seconds (20 / 10 * 30 = 60 seconds).
Use the following topics to learn how to perform a simulated calculation and how to use a simulated calculation to estimate calculation time.
Simulate a Calculation
Simulate calculation on a model of your Essbase block storage cube by running a calculation script with commands SET MSG ONLY and SET NOTICE HIGH, and taking note of timestamps in the application log.
Before you can estimate calculation time, you must perform a simulated calculation on a data model that is based on your actual cube. Then you can check the application log to see how long calculations took.
To learn where to find the application log, refer to Environment Locations in the Essbase Platform.
To perform a simulated calculation:
Reference the calculation commands:
Estimate Calculation Time
Record the results of the simulated calculation, and use them to estimate actual calculation time for your Essbase block storage cube.
To estimate total calculation time:
Factors Affecting Estimate Accuracy
The accuracy of estimations based on a simulated calculation of an Essbase block storage cube can be impacted by factors such as block density and outline structure.
The simulated calculation should return a time accurate to about 5%, if key factors causing variations are not present.
When these factors are present, this estimating technique more closely predicts calculation time when Essbase reaches 30%–40% of the simulated calculations (30%–40% of the messages generated by SET NOTICE HIGH).
Variations Due to a Chain of Influences
Using SET MSG ONLY as a calculation-time estimating technique should be validated against later CALCNOTICE intervals. The results of this estimating technique vary because of the following chain of influences:
-
Blocks differ in block density through the real consolidation process, therefore
-
The rate at which Essbase writes blocks to the disk differs, therefore
-
The rate at which blocks are processed in the cache differs, therefore
-
Actual results may differ from the predicted calculation time.
Variations Due to Outline Structure
Another factor that can make actual results diverge significantly from predicted is the outline structure. Calculations based on CALCNOTICE intervals assume evenly balanced processing time throughout the outline. Factors that can skew this balance include the following situations:
-
The model contains one or two sparse dimensions that are large in relation to the other sparse dimensions.
-
Larger dimensions have member configurations that result in multiple shared roll-ups.
Changing the Outline Based on Results
After you have estimated and analyzed a simulated calculation of a model of your Essbase block storage cube, you can change the outline to improve performance.
From top to bottom in the outline, order sparse dimensions to create the fewest percentage increases in upper blocks:
-
Level 0 blocks following full model load: 100,000
-
Upper level blocks after consolidating only sparse dimension 1: 1,000,000
-
Upper level blocks after consolidating only sparse dimension 2: 3,000,000
-
Upper level blocks after consolidating only sparse dimension 3: 10,000,000
-
Upper level blocks after consolidating only sparse dimension 4: 300,000
-
Upper level blocks after consolidating only sparse dimension 5: 5,700,000
For example:
-
#4 (members = 10,000, 4 levels)
-
#1 (members = 500, 2 levels)
-
#2 (members = 100, 4 levels)
-
#5 (members = 10,000, 4 levels)
-
#3 (members = 20, flat)
Use the simulated calculation to generate the upper block count. These numbers may be accurate despite actual dimension sizes as noted next to the items above.
Caution:
The largest count of members is not always a good predictor.
Consider using hybrid mode. In a hybrid mode cube, you can easily customize the solve order instead of rearranging dimensional order.