hfm application design for performance

32
Hyperion Financial Management Application Design for Performance Application Design for Performance Application Design for Performance Application Design for Performance November 5, 2012 Chris Barbieri Chris Barbieri Chris Barbieri Chris Barbieri Practice Director Property of Edgewater Ranzal

Post on 13-Sep-2014

1.237 views

Category:

Technology


1 download

DESCRIPTION

HFM application performance is a complex function of application design, data volume and quality, user process, and infrastructure design. Chris Barbieri reviews each of these aspects of system performance, explaining the relationship between application design and performance, along with updated application statistics to answer the question “what’s normal?” More than just statistics, Chris describes how HFM behaves according to variations in design.

TRANSCRIPT

Page 1: HFM Application Design for Performance

Hyperion Financial Management

Application Design for PerformanceApplication Design for PerformanceApplication Design for PerformanceApplication Design for PerformanceNovember 5, 2012

Chris BarbieriChris BarbieriChris BarbieriChris BarbieriPractice Director

Property of Edgewater Ranzal

Page 2: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Personal Background

• Established HFM performance tuning techniques and

statistics widely used today

• 4+ years as Sr. Product Issues Manager at Hyperion

– HFM, Smart View, Shared Services, MDM

• 2001 HFM launch team 2001

• Certified HFM, Hyperion Enterprise

• B.S. Finance & Accounting, Boston College

• MBA, Babson College

• Established HFM Performance Tuning Lab at Ranzal

Property of Edgewater Ranzal

Page 3: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Foundation of Performance

• Hyperion Financial Management

• Metadata design as it impacts performance– Volume of members

– Impact of structures

• Data– Content

– Density

• Rules

• Environment

Property of Edgewater Ranzal

Page 4: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

MetadataMetadataMetadataMetadata

Property of Edgewater Ranzal

Page 5: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

12 Standard Dimensions

Application Profile

1. Year

2. Period

3. View

System

4. Value dimension,

includes

currencies

User controlled5. Entity6. Account7. ICP8. Scenario

User defined9. Custom 110. Custom 211. Custom 312. Custom 4

Property of Edgewater Ranzal

Page 6: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Application Profile

Year– No inherent impact on performance

– Can be increased after the application is built

– Impacts database table volume

Period– Base periods comprise column structure of everyeveryeveryevery table, whether you use them or not

– Avoid weekly profiles unless it is key to your entireentireentireentireapplication’s design

– Yearly is inadvisable

View– No impact, but only YTD is stored

– Other views are on-the-fly derivations• Consider the UI click volume

Property of Edgewater Ranzal

Page 7: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

System DimensionValue Dimension

– Can not directly modify this

– “<Entity Currency>” points to entity’s default currency

– “<Parent Currency>” points to default currency of the entity’s parent• Anything above “<Entity Curr Total>” must be Parent.ChildParent.ChildParent.ChildParent.Child format

Currencies– Don’t add currencies you aren’t using

• Sets of calc status records for (every entity * every currency)

• Impact of loading metadata with entity or currency changes

– Normally translate from the entity’s currency only into it’s parent’s currency

– Beware of non-default translations• Impacted calc status

• Data explosion

• Adds to cycle time

Property of Edgewater Ranzal

Page 8: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

User Controlled Dimensions

Entity

– Sum of the data of the children

– Avoid Consolidate All or All With Data on each hierarchy

– Assign Adj flags sparingly•Don’t disable if you ever had journals on entity

ICP

– “Hidden” dimension

Scenario

– Number of tables

Property of Edgewater Ranzal

Page 9: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Impact of Account Depth

� Effect is multiplied when you consider the custom dimensions

� Parent accounts don’t lock

4- Net Income

3- Optg Income

2- Gross Margin

1- Sales

4- Optg Income

3- Gross Profit

2- Gross Margin

1- Sales

5- EBIT

6- Net Income

Property of Edgewater Ranzal

Page 10: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

User Defined Dimensions

Custom 1..4

– Think dozens or hundreds, but not thousands• If Thousands are necessary, 64 bit makes this possible

•Rules remain a major factor in performance

– Avoid:•Employees

•Products

•Anything that is very dynamic, changing greatly from year to year

•One to one relationship with the entities

Configurable dimensions in 11.1.2.2???

Property of Edgewater Ranzal

Page 11: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Metadata Efficiency Ratio

What does the average entity have in common with the top entity?– Density measurement of re-use of the accounts and customs across all entities

top entity

base

Property of Edgewater Ranzal

Page 12: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Metadata Volumes (Americas)80 Applications Median +1 Std Deviation High

Accounts 1,383 2,814 7,491

ICP Accounts With Plug 17 291 2,273

Accounts With Data Audit 26 1,356 7,490

Consolidation Rules 45%

OrgBy Period 16%

Phased Submission 19%

Consolidation Methods - 3 16

Currencies 25 57 150

Custom1 177 3,248 23,897

Custom2 67 2,397 20,484

Custom3 46 919 5,681

Custom4 19 184 1,199

Entity Hierarchies 4 12 44

Entities (unique) 672 4,242 21,199

ICP Members 200 1,161 7,770

Scenarios 10 27 81

Scenarios Using Process Management - 6 37

Scenarios Using Data Audit - 11 78

Property of Edgewater Ranzal

Page 13: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

DataDataDataData

Property of Edgewater Ranzal

Page 14: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

What’s a Subcube?

• HFM data storage unit

• Database tables stored by

– Each record contains allallallall periods for the [Year]

– All records for a subcube are loaded into memory togethertogethertogethertogether

Parent subcube,

stored in DCN tables

Currency subcubes,

stored in DCE tablesProperty of Edgewater R

anzal

Page 15: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Take it to the Limit

Reports, Grids, or Forms that:

– Pull lots of entities

– Lots of years

– Lots of scenarios

Not so problematic:

– Lots of accounts

– Or Custom dimension members

Smart View

– Cell volume impacts bandwidth

– Subcubes impact server performance

Property of Edgewater Ranzal

Page 16: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Data Design

• Density

• Content– Specifically: zeros

– Tiny numbers

– Invalid Records

“Metadata volume is interesting, but it’s

how you it that matters most”

Property of Edgewater Ranzal

Page 17: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Data Volume Measurement

•No perfect method

MethodMethodMethodMethod HowHowHowHow----ToToToTo ProsProsProsPros ConsConsConsCons

Data ExtractData ExtractData ExtractData Extract Extract all data,

count per entity

Simple, easy to see

input from calculated

Can only extract

<Entity Currency>

FreeLRUFreeLRUFreeLRUFreeLRU Parse HFM event

logs

Good sense of average

cube, easy to monitor

monthly growth

Can’t identify

individual cubes,

harder to understand

Database Database Database Database

AnalysisAnalysisAnalysisAnalysis

Query DCE, DCN

tables and count

Easy for a DBA, see all

subcubes

Doesn’t count

dynamic members,

includes invalid

records

Property of Edgewater Ranzal

Page 18: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Data Density Using FreeLRU

•Survey of data density using FreeLRU

methodNumber of applications reviewed:

44

Median Min Max +1 Std Dev

NumCubesInRAM 1,369 72 15,152 5,068

NumDataRecordsInRAM 1,170,908 247,900 23,019,754 4,574,074

NumRecordsInLargestCube 53,089 2,508 593,924 169,272

Records per cube 1,352 24 91,418 15,832

Metadata efficiency 3.4% 0.3% 39.7% 12.3%

Property of Edgewater Ranzal

Page 19: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Loaded vs. Consolidated Data

• What percent of the loaded data is a zero value?– <5% is reasonable

– No zeros are best

– Watch ZeroView settings on scenarios

• Watch out for tiny values, from allocations

• How much does the data expand from Sub Calculate?

• How many zeros are generated by the consolidation process?– Intercompany eliminations

– Allocations

– Empty variables

Loaded 0.9%

Calculated 9.4%

Consolidated 19.6%Property of Edgewater Ranzal

Page 20: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Growth Up the Entity Chain

LevelLevelLevelLevel NumberNumberNumberNumber RecordsRecordsRecordsRecords

Top EntityTop EntityTop EntityTop Entity 1 261,593

Average SubcubeAverage SubcubeAverage SubcubeAverage Subcube 814 5,193

Base entities including calculated dataBase entities including calculated dataBase entities including calculated dataBase entities including calculated data 516 680

Base entities input data onlyBase entities input data onlyBase entities input data onlyBase entities input data only 443 421

Base 421

Average 5,193

Top 261,593

Property of Edgewater Ranzal

Page 21: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Loaded, Calculated, and Consolidated

•Rough stats: median from 10101010 applications

MonthlyMonthlyMonthlyMonthly

Zeros Zeros Zeros Zeros

%%%%

Monthly Monthly Monthly Monthly

GrowthGrowthGrowthGrowth

Rules Rules Rules Rules

Growth Growth Growth Growth

Loaded RecordsLoaded RecordsLoaded RecordsLoaded Records 153,826 4.1% 3.3%

Loaded + Calculated Loaded + Calculated Loaded + Calculated Loaded + Calculated

RecordsRecordsRecordsRecords 353,122 19.7% 2.7% 2.0

Consolidated RecordsConsolidated RecordsConsolidated RecordsConsolidated Records 63,432 6.9% 3.2%

� Total data for all base (or top) entities

� Can be easily managed by better rule writing!

Property of Edgewater Ranzal

Page 22: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Invalid Records

• Type 1: Orphaned records from metadata that has been deleted– Member is removed from dimension_Item table, but not from the data tables

– These can be removed by Database > Delete Invalid Records

• Type 2: the member still exists, but is no longer in a valid intersection– Most often from changing CustomX Top Member on an account

– These cannot be removed by HFM, but are filtered out in memory

Property of Edgewater Ranzal

Page 23: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

How Much Memory Do I Need?

Plan APlan APlan APlan A Plan BPlan BPlan BPlan B

Number of entitiesNumber of entitiesNumber of entitiesNumber of entities 814 814

* 2 cubes: entity currency + contribution* 2 cubes: entity currency + contribution* 2 cubes: entity currency + contribution* 2 cubes: entity currency + contribution 1,628 1,628

NonNonNonNon----USD entitiesUSD entitiesUSD entitiesUSD entities 483 483

add another cube for parent currencyadd another cube for parent currencyadd another cube for parent currencyadd another cube for parent currency******** 483 483

Entity_value cubesEntity_value cubesEntity_value cubesEntity_value cubes 2,111 2,111

Actual 2011, 2012Actual 2011, 2012Actual 2011, 2012Actual 2011, 2012 2 2

4 Currency scenarios, 3 Estimate, 3 Forecast scenarios4 Currency scenarios, 3 Estimate, 3 Forecast scenarios4 Currency scenarios, 3 Estimate, 3 Forecast scenarios4 Currency scenarios, 3 Estimate, 3 Forecast scenarios 3 10

Total Year_scenariosTotal Year_scenariosTotal Year_scenariosTotal Year_scenarios 5 12

Total cubesTotal cubesTotal cubesTotal cubes 10,555 25,332

Average records per cubeAverage records per cubeAverage records per cubeAverage records per cube 5,193 5,193

Optimal MaxRecordsInRAM settingOptimal MaxRecordsInRAM settingOptimal MaxRecordsInRAM settingOptimal MaxRecordsInRAM setting 54,812,115 131,549,076

bytes per recordbytes per recordbytes per recordbytes per record 120 120

Records * bytes converted to MB = Records * bytes converted to MB = Records * bytes converted to MB = Records * bytes converted to MB =

MaxDataCacheSizeInMBMaxDataCacheSizeInMBMaxDataCacheSizeInMBMaxDataCacheSizeInMB 6,273 15,055

** Many entities are translated into other currencies as well, making this value low** Many entities are translated into other currencies as well, making this value low** Many entities are translated into other currencies as well, making this value low** Many entities are translated into other currencies as well, making this value low....

Property of Edgewater Ranzal

Page 24: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Rules TimingRules TimingRules TimingRules Timing

Property of Edgewater Ranzal

Page 25: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Data Density <> Calc Time

correlation between density and calc times

• Most applications are rules bound

-

0.500

1.000

1.500

2.000

2.500

-

100

200

300

400

500

600

700

800

900

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

Seconds

Seconds

Seconds

Seconds

Records

Records

Records

Records

Average Rule Execution Time in Contrast with Data VolumeAverage Rule Execution Time in Contrast with Data VolumeAverage Rule Execution Time in Contrast with Data VolumeAverage Rule Execution Time in Contrast with Data Volume

Property of Edgewater Ranzal

Page 26: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

But Some are I/O Bound

Time vs. Volume

050

100150200250300350400450

8382

0.83

820_

DF

R.F

R_N

BM

TO

TA

L_R

EG

ION

S.U

SU

SC

A.U

SE

ME

A.D

EA

P.C

NC

Z.C

Z_N

BM

DE

_NB

M.8

3704

FR

_NB

M.8

3519

TH

.838

99U

S.U

SG

OU

S.8

0808

BR

.835

4583

820.

8382

0_18

01O

TH

AP

.828

2883

820.

8382

0_18

51E

ME

A.B

ELA

.BR

US

.808

20A

R.8

3856

Sec

on

ds

0

10,000

20,000

30,000

40,000

50,000

60,000

elapsed

totalrecords

Property of Edgewater Ranzal

Page 27: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

How Long Should Rules Take?

• Total consolidation time for all entities, 12 periods

• Divide by 12 periods and total number of entities

0 0.25 2.0 4.0 10.0

Seconds Per EntitySeconds Per EntitySeconds Per EntitySeconds Per Entity

Property of Edgewater Ranzal

Page 28: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Rules Impact Ratio

• Total consolidation time

with rules

• Divided by time with Blank

Rules

• Typically 2- 5 times

• More than that is an

opportunity for improvementProperty of Edgewater R

anzal

Page 29: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Reference Reference Reference Reference

ApplicationApplicationApplicationApplicationProperty of Edgewater R

anzal

Page 30: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Small but Constant Application

•Applied across multiple environments

0:00:00

0:00:43

0:01:26

0:02:10

0:02:53

0:03:36

0:04:19

physical physical virtual virtual virtual virtual virtual virtual

HFM lab Cust E Ranzal dev T-61 laptop Cust A Cust B Cust C Cust D

Full Rules Blank Rules

Property of Edgewater Ranzal

Page 31: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Property of Edgewater Ranzal

Page 32: HFM Application Design for Performance

Copyright 2012 Edgewater Ranzal

Chris BarbieriChris BarbieriChris BarbieriChris [email protected]@[email protected]@ranzal.com

NeedhamNeedhamNeedhamNeedham, MA, MA, MA, MA

USAUSAUSAUSA

+1.617.480.6173+1.617.480.6173+1.617.480.6173+1.617.480.6173

www.ranzal.comwww.ranzal.comwww.ranzal.comwww.ranzal.comProperty of Edgewater R

anzal