Hyperion Health Check Hit List

I am asking for your Hyperion wisdom again, oh beloved readers! In particular, I am soliciting information from you consultanty types and those of you who otherwise hop into a lot of different Hyperion systems.

Oftentimes a client needs help with speeding up an Essbase/Hyperion process/server/cube that has become unwieldy and slow. So you take a look at things. When you happen to hop in to an environment and assess its health, what do you look for, from a Hyperion point of view? For example, on BSO cubes I go right for the stats and check out the block density and average cluster ratio. From there I can go in any number of directions, looking at the overall outline, automation, cache settings, and so forth. So I have this already:

  1. Check block density and other cube stats
  2. Review outline for any red flags
  3. Check size of index cache with respect to the size of the index itself
  4. Take a look at outline for things that can be removed/deleted/dynamic calc, etc
  5. Ensure logs are not huge
  6. Look for XCP files, if any
  7. And a few others

I am really, really, curious if you have something you look for, particularly if it’s something you might dive into with EAS. I’m working on something interesting and your feedback is very appreciated! It can be anything at all: checking the server, checking the app or the cube, checking the file system, calc scripts, business rules, automation, and so on. Thanks!

12 thoughts on “Hyperion Health Check Hit List

  1. Hey Jason, what about..

    Testing a sample of data for stored zeros?

    Verifying that compression is enabled on BSO cubes.

    What about determining whether calcs are run in parallel or serial, and when parallel, whether the calculator can actually calc in parallel, or it’s reverting back to serial. Along those lines, info on bitmap size, and # of empty tasks.

    I’m curious about what you’re working on..

  2. Jeff, those are great. I hadn’t thought about those.

    I’m working on something… not too far from my other endeavors but with a different twist. I think you’d like it… :)

  3. Amy Del Rosario

    Jason, other than the usual outline suspects, here are a few areas where I like to look:
    essbase.cfg : Check common settings (e.g.: CACHE LOW | DEFAULT | HIGH), especially if being used in Calc Scripts / Rules
    Sub Vars : Consolidation needed? (e.g.: BOTH CurrMonth & CurrentMo are being used)
    AGG / CALC DIM : Are FIX stmts being used to prevent Sparse Dim data being unnecessarily being written to upper-level members (e.g.; if multi-currency, FIX(USD) to AGG or Calc the Entity Dim; Local currency should be excluded)

    I like to also verify that there is, at least, a backup process documented AND followed…Ideally, a recovery plan is also nice, but not always documented.

    Hope this is helpful.

    • Thanks Amy. It’s indeed helpful. I am definitely interested in things that are above and beyond the usual outline suspects and other things. I feel your pain about the duplicate substitution variables too – always a nightmare to get those untangled, it seems.

  4. Stephan Göpfert

    Hi Jason

    great work. i am impressed!

    Sometimes, i have the need, that the IT do not want that the customer users works on the Server. One example is the outlineLoad.cmd.
    There seems to be a way to install the essbase Client and copy some jar files to the Client, so that you can start the planning Tools from the Client. But this seems only a possibility to smaller equal

    If the Workspace is installed on the same Server then the planning Server, it is no problem for me, because i can use the Java-API of the Workspace for transport the Input and Output files and can create a generic Job for starting the process. But what, when the Workspace is NOT on the planning Server? And this is unfortunately the normal case. So, the question is, how we can start a process from the Workspace Server on the planning Server. The Java API call for the the Input and the Output files should also running on the planning server.

    The other way to start processes on the Server could be the SQL Server in combination with the Proxy user to start the cmdshell. The Idea in this case is to start an Export from essbase into the SQL Server and then start an trigger to do something. But also in the case the question is: “how to start an process on another Server?”

    At the end, i know, that we have in an excel client admin tool to change the outline in planning and refresh the changes to essbase.


    • Hi Stephan,

      I’m not sure I fully understand the issue – sounds like a job for the smart folks on the Network54 forum. But it sounds like you’re trying to run a program on one server that relies on files that might be on another. If it’s just Java JAR files there should be a way to find out all of the ones you need and copy them over. I haven’t tried with this exact combination of files/processes but I’m sure someone has that can help. Good luck!

  5. Hi Jason

    You may also look at the Number of blocks

    How many are the level0 blocks & how many upper level blocks and what is the % of upper level blocks. If the upper level blocks are more there is a chance that you have lot of hierarchies and your cube might increase. I have seen in my experience where the level0 blocks are in thousands but the upper level blocks are in millions because of which the cube size has increased and resulted in longer calculation times, longer restructure times

    You may also have to look at the server configuration (no of processors, memory, disk configuration). For example, you are using a calculation script with CALCPARALLEL 8 and you don’t have enough processor cores to accommodate for 8, then you would ideally end up waiting which would result increased calc times

    If the applications are build way back in older version, then revisit all your process, calcs where you can use new features to improve the processing speed. For Example, Parallel restructure option that was introduced in

    Hope this helps!!!

  6. Great work.
    really appreciated its exactly I really want.
    Thanks for sharing and really want to share it with my friend.

  7. […] with my research and efforts to find out what we all do when we dive into a new system as part of a health check hit list.  Doing so on a BSO database can yield improvements (particularly on dense […]

  8. […] efforts to understand what you (as consultants and Hyperion professionals) check during your “health check hit list“, it’s my goal over the next year to put together a suite of power tools that enable […]

Leave a Reply

Your email address will not be published.