Amit_ Application Design for Performance

April 21, 2018 | Author: Araz2008 | Category: Metadata, Databases, Digital Technology, Digital & Social Media, Areas Of Computer Science
Share Embed Donate


Short Description

Design...

Description

Hyperion Financial Management

Application Design for Performance

Chris Barbieri

Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Personal Background 

     

Established HFM performance tuning techniques and statistics widely used today 4+ years as Sr. Product Issues Manager at Hyperion 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 ●

Vice President of world’s largest HFM practice



Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Personal Background 

     

Established HFM performance tuning techniques and statistics widely used today 4+ years as Sr. Product Issues Manager at Hyperion 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 ●

Vice President of world’s largest HFM practice



Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Foundation of Performance  

Focus first on single user Metadata design as it impacts performance ● ●



Data ● ●

 

Volume of members Impact of structures Content Density

Rules Environment

Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Metadata

Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Designing HFM’s 12* Dimensions Application Profile 1. Year 2. Period 3. View

User controlled 5. Entity 6. Account 7. ICP 8. Scenario

System 4. Value dimension,

includes currencies

User defined Custom 1 10. Custom 2 11. Custom 3 12. Custom 4 (*and more customs 11.1.2.2) 9.

Copyright ©2013 by Chris Barbieri, 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 every table, whether you use them or not  Avoid weekly profiles unless it is key to your entire application’s design Daily is inadvisable

View ● ●

No impact, but only YTD is stored Other views are on-the-fly derivations ●

Consider number of UI clicks Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

System Dimension Value Dimension ● ● ●

Can not directly modify this “” points to entity’s default currency “” points to default currency of the entity’s parent ●

Anything above “” must be Parent.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 Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

User Controlled Dimensions Entity ● ●



Single biggest factor in consolidation time 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 Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Impact of Account Depth

6- Net Income

4- Net Income

5- EBIT

3- Optg Income 2- Gross Margin

4- Optg Income

1- Sales

3- Gross Profit 2- Gross Margin 1- Sales





Effect is multiplied when you consider the custom dimensions Parent accounts don’t lock Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

User Defined Dimensions Custom 1..4 ●

Think dozens or hundreds; resist thousands ●







If Thousands are necessary, 64 bit makes this possible Rules remain a major factor in performance UI click

Avoid: ●







Employees Detailed 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 Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Metadata Efficiency Ratio What does the average entity have in common with the top entity? ●

Measure re-use of accounts and customs across entities top entity

base

Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Metadata Volume Study: 82 apps Median

+1 Std Deviation

Accounts 1,444 ICP Accounts With Plug 17 Accounts With Data Audit 32 Consolidation Rules 45% OrgBy Period 16% Currencies 25 Custom1 181 Custom2 72 Custom3 46 Custom4 19 Entity Hierarchies 4 Entities (unique) 672 ICP Members 208 Scenarios 12 Process Management Scenarios Scenarios Using Data Audit Copyright ©2013 by Chris Barbieri, Edgewater Ranzal Using Phased Submission? 17%

High

2,915 288 1,358

7,491 2,273 7,490

57 3,219 2,374 909 182 12 4,352 1,160 29 7

150 23,897 20,484 5,681 1,199 44 21,199 7,770 81 37

11

78

Data

Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

What’s a Subcube?  

HFM data structure Database tables stored by ● ●

Each record contains all periods for a [Year] All records for a subcube are loaded into memory together

Parent subcube, stored in DCN tables Currency subcubes, stored in DCE tables Copyright ©2013 by Chris Barbieri, 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 Lots of custom members

Smart View ● ●

Subcubes impact server performance Cell volume impacts bandwidth Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Data Design “Metadata volume is interesting, but it’s how you  

it that matters most”

Density Content ● ● ●

Specifically: zeros Tiny numbers Invalid Records

Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Data Volume Measurement 

No perfect method

Method

How-To

Pros

Cons

Data Extract

Extract all data, count per entity

Simple, easy to see input from calculated

Can only extract

FreeLRU

Parse HFM event logs

Good sense of average cube, easy to monitor monthly growth

Can’t identify individual cubes, harder to understand

Database Analysis

Query DCE, DCN tables and count

Easy for a DBA, see all subcubes

Doesn’t count dynamic members, includes invalid records

Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Data Density Using FreeLRU Number of applications reviewed

Median +1 Std Dev

Min

Max

46

NumCubesInRAM NumDataRecordsInRAM NumRecordsInLargestCube Records #er cube Metadata e$$icienc%

1,369

9,426

72

51,840

1,179,049

4,679,031

247,900

23,019,754

53,089

167,085

2,508

5939!"

1,352

15,537

24

91,418

3.4%

12.2%

0.3%

39.7%

Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Loaded vs. Consolidated Zeros 

What percent of the loaded data is a zero value? ● ● ●



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 Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

So… How Much Memory Do I Really Need? Calculation Number of entities * 2 cubes: entity currency + contribution Non-USD entities add another cube for parent currency Entity_value cubes Actual 2013, 2012 Forecast1 2013, Plan 2013, TestForecast 2013 Tests, etc. Total Year_scenarios Total cubes Average records per cube Optimal NumDataRecordsinRAM setting bytes per record Records * bytes converted to MB = MaxDataCacheSizeInMB

Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Company 11,321 11,321 2,939 2,939 14,260 2 3 10 15 213,900 175 37,432,500 120 4,284

Rules Timing

Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Data Density Calc Time Average Rule Execution Time in Contrast with Data Volume  900

 2.500

 800  2.000

 700  600

 1.500

     s       d 500      r      o      c      e 400       R

 1.000

     s       d      n      o      c      e       S

 300  200

 0.500

 100  -

 Jan



Feb

Mar

Apr

May

Jun

Jul

Aug

Sep

Oct

Nov

Dec

correlation between density and calc times Most applications are rules bound Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

But Some Applications are I/O Bound Time vs. Volume 450 400 350       s 300        d       n250       o       c 200       e         S150 100 50 0



60,000 50,000 elapsed totalrecords

40,000 30,000 20,000 10,000

      S       9      9       O      8       5       1      8       1       E      R      0       6       D      M      U      S      E      N      M      4       9       0       0       4       0      2       5       2       5 _      B  .       U       B      7       1  .       D       5      8       G      8       5       8      8       8       B  .       B  .       8       8  .       C  .

HFM app server CPU is waiting for data Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

0

How Long Should Rules Take? 

Total consolidation time in seconds,12 periods ● ●



Consolidate All With Data for consistency, reliability Fastest of three consecutive runs

Divide by 12 periods and total number of entities ●

Descendants inclusive of POV parent

Seconds Per Entity Per Period 0 0.25

2.0

4.0

10.0

Copyright ©2013 by Chris Barbieri, 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 improvement Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Consolidation Rules = “R” 



Ideal for simple applications that do not need consolidation rules Skips writing [Proportion] to the database ● ●

 

Smaller DCN tables If no [Elimination], [Parent Adjs] or [Contribution Adjs] the DCN tables won’t even exist

Studies show about 30% faster consolidation times Must be enabled at app creation

Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Reference Application

Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

Small but Constant Application 0:05:02

0:04:19

Full Rules 0:03:36

Blank Rules 0:02:53

0:02:10

Target

0:01:26

0:00:43

0:00:00



physical physical

virtual

virtual physical physical

virtual

virtual

virtual

virtual

HFM lab A: Dev

B: Dev

C: Dev

Ranzal: L: Stage K: dev dev

T-61 laptop

E: non- F: prod prod

K: FIT

D: QA

physical

virtual

virtual

virtual

virtual

T-410 laptop

G: Dev

H: Dev H: prod

Applied across multiple environments Copyright ©2013 by Chris Barbieri, Edgewater Ranzal

virtual

virtual I: prod

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF