Introducing: EssBench

Background

What on earth is EssBench?  First…some background.  I have a number of clients who have transitioned to either new physical hardware, have been virtualized, or are being sent to the cloud.  All of these options bring along challenges around performance.  When you go to new physical hardware, you might end up attached to network storage.  When you go to a virtualized environment, performance generally suffers across the board, and when you go to the cloud, any number of things can happen.  So what do those clients do?

You really have three options to get IT to help you:

  • Option 1: Test your application on your old system and compare it to your new system
    • This presents a problem as the old system has a variety of differences, including the version of Essbase most likely
  • Option 2: Test your application on an independent system and compare it to your new system
    • This can be done, but it sounds expensive to either borrow another companies instance or have your consultant do this
  • Option 3: Test a standardized benchmark application and compare it to other tested configurations
    • If only something like this existed, this would be the best option, right?

Introducing EssBench

Well it’s taken me a couple of years to finally prepare it, but EssBench is finally ready for initial release.  The goal of EssBench is to provide a standardized Essbase application for benchmarking between environments.  The initial release is a basic BSO cube with the following characteristics:

  • Dimensions
    • Account (1025 members, 838 stored)
    • Period (19 members, 14 stored)
    • Years (6 members)
    • Scenario (3 members)
    • Version (4 members)
    • Currency (3 members)
    • Entity (8767 members, 8709 stored)
    • Product (8639 members, 8639 stored)
  • Data
    • 8 Text files in native Essbase load format
    • 1 Text file in comma separated format

In addition to the cube and data, there is a process included for Windows users.  I am working on putting together a better way to execute the testing, but this is a good start and let’s us start collected data for comparison purposes.  Included in this release is a combination of a PowerShell script and a MaxL script with the following characteristcs:

  • PowerShell Scripts
    • Creates Log File
    • Executes MaxL Commands
  • MaxL Scripts
    • Resets the cube
    • Loads data (several rules)
    • Aggs the cube
    • Executes allocation
    • Aggs the allocated data
    • Executes currency conversion
    • Restructures the database
  • Executes the MaxL script three times

Where Do I Get EssBench?

I’ve set up a landing zone and domain for EssBench.  You can visit that here.  There are three main components to download:

Installation Guide

Essbase Artifacts

Automation and Data Files

What Next?

I’m working now on two items.  First, I want to start collecting information so that we can have an actual database of test results.  This provides everyone the ability to compare without needing more than their own environment.  Next, I’m working on putting together an application that will actually execute the test.  It will also eventually collect the results and upload them automatically to a database.  Finally, I would like it to also collect system configuration information (CPU, Memory, Storage, etc…).  But that will be for another day.  In the meantime, go benchmark your environment today!