performance tuning massive sap bw systems - tips & tricks · bw technical team lead performance...

52
1 Jay Narayanan OfficeMax BW Technical Team Lead Performance Tuning Massive SAP BW Systems - Tips & Tricks

Upload: others

Post on 22-Dec-2019

14 views

Category:

Documents


2 download

TRANSCRIPT

1

Jay NarayananOfficeMax

BW Technical Team Lead

Performance Tuning Massive SAP BW Systems - Tips & Tricks

2

SAP Systems at OfficeMax

Retail and Core Business

Business Intelligence and Modeling

Customer Call Center

DecentralizedWarehouse Management

Systems

•Order Status•Inventories •Customers

•Orders

•Campaign Analysis

•Market Basket(data mining)•Customer Analysis

•Sales, Inventory•Purchasing, etc. •Sales Analysis

(infospoke)

WM3WM1

Las VegasHazelton,

PennsylvaniaMcCalla,Alabama

WM3WM3WM3WM2

WM3Retail

WM3CRM WM3BW/SEM

(Cleveland, Dallas)

CA

AZ OK

FL

NM

TX

NVUT

ORID

WAMT ND

SD

IA

MN WI

ILIN OH

MIPA

WV VANC

SC

NYVT

NH

ME

MACTNJ RI

DEMD

GAAL MSLA

ARTN

MO KYCO

WYNE

KS

•Financial Simulation(transactional cube)

Shaker Heights,Ohio

Shaker Heights,Ohio

Shaker Heights,Ohio

•Vendor Shipments•Deliveries due •Master Data

•Deliveries made•Inv Adjustments

3

BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions

Agenda

4

BW Technology Platform

Solaris 2.8SUN E10K48-CPU / 48GB

Hitachi 9960(6TB/Monthly Growth 25GB)

BW 3.1C (SP15)

SEM 3.2B (sp12)

Oracle 9.2

Windows XPSAP GUI 6.20

SAP Portal 6.0 Crystal Enterprise 8.5IGS

1 App ServerSUN V8808-CPU / 32GB

NT Servers8-CPU

5

Cubes Aggregates ODS

SALES 12 40 5

INVENTORY 12 76

PURCHASING 2 4 2

FINANCE 6 4

HR 1 2

CRM 1 3 2

SEM 6

STAFFWORKS 3 3 3

BW STATISTICS 6

Others 5 4

Application Areas & InfoProviders

6

Performance Statistics for Loads

242 hrs1.4 mCube & ODSPurchasing

1040 mins140 KFull/Delta LoadMaster Data (27 info objects)

75

1

2 hours

1.5 hours

27 m

27 m

Cube Load

Rollup

Inventory Snapshot

Change run

Cube Load

ODSRollup

Compression

ProcessProcess

83 hours20000Master Data

Alignment

24

24

8

1

30 mins

1.5 hours (actv)

15 minutes

20 mins

1.8m

1.8 m

1.8 m

Sales

StreamsStreamsRuntimeRuntimeRecordsRecordsDataData

7

BW Users - Yearly

0

100

200

300

400

500

600

700

Year-2004

Year-2003

Year-2002

Year2001

Users

680

504

195

149

8

BW Users - Daily

2

226

141

96 9198

57

178

150

121 117

99106

52

92

222

0

50

100

150

200

250

8/16/2004 8/23/2004 8/30/2004

Users

9

BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions

Agenda

10

InfoCube with no Line Item Dimension

Dimension Table

Master data Sid table

Fact TableMaster data

Sid tableMaster Data

Sid table

InfoCube with Line Item Dimension

Dimension Table

Fact TableDimension Table

Master Data Sid Table

DatabaseView

Modeling – Performance aspects - 1

• Line Item Dimensions

11

Modeling – Performance Aspects - 2

Line Item Dimensions & Cardinality

12

Modeling – Performance Aspects - 3

Logical Partitioning – Yearly cubesParallel queries run on basic infocubes

Change run can be run parallel

Year 2004 Cube Year 2003 Cube Year 2002 Cube

13

Modeling – Performance aspects - 4Run Program SAP_INFOCUBE_DESIGNS for existing Infocubes

Compression ratio

14

Modeling – Performance Aspects - 5

Physical Partitioning

Aggregates

Navigational attributes

Database partitions and

secondary Indexes on ODS.

Dimensions with more than one Characteristic

15

BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions

Agenda

16

Data Load Performance

Data Load from Source System

Configuring ROIDOCPRMS table

Transaction SBIW

General Settings->Maintain Control Parameters for Data Transfer

Refer OSS Note : 417307

Infosource specific values can be maintained in Scheduler

TSV_TNEW_PAGE_ALLOC_FAILED if Packet Size is Huge

Reorg ARFCSDATA & ARFCSSTATE tables

Flat File load Performance

Maintain the parameters thru transaction RSCUSTV6

Load from application server not from Client

reduces network load.

17

Data Load Performance – Number Range Buffering - 1

When loading large quantities of data into an InfoCube, the number range buffer should be increased for the dimensions that are likely to have a high number of values

Use Function module RSD_CUBE_GET to Identify the object name of the dimension.

18

Data Load Performance – Number range buffering - 2

Use Transaction SNRO ->EDIT-> Setup Buffering->Main memory

Never set buffering for package dimension

set the values between

500 and 1000.

19

Data Load Performance – Load Balancing - 1

Use transaction SMLG and create logon group

Logon group for Load balancing

BW system

20

Data Load Performance – Load balancing - 2

Change RFC settings in the source system

Use transaction SM59

Source system

21

Data Load Performance Drop Unused Partitions

Use program SAP_DROP_EMPTY_FPARTITIONS

Avoid Long execution times for Index rebuild

22

Data Load Performance

Drop and recreate source twin Structures

Program LMCSWTOP set flag FLG_DCT = ‘X’

Drop and Recreate Bitmap indexes on F table

Use Parallel Processing

ODS loads & activation parallel

Check Update / Transfer rules

Index on source tables for full loads with selection

Define PSA Part. size using transaction RSCUSTV6

Minimum no. of records in a PSA partition

Use program SAP_PSA_PARTITION_COMPRESS for existing PSA tables

Compress Cubes and aggregates regularly

23

BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions

Agenda

24

Change run performance - 1How Change run works on aggregates

Inserts new records positively and old records negatively

25

Change run Performance - 2Function module RSCDS_CONDENSE_CUBE

Aggregate name

Enter X for aggregate

Value of cnsid_to of table rsddaggrdir

26

Change run Performance – Threshold & Block size

Transaction RSCUSTV8

If the Changes more than 20%Aggregates are rebuilt

Choose the block size depending on the Temporary

table space available

27

Change run Performance - Setting Change run Parallel -1

Create an RFC server group using transaction RZ12

28

Change run Performance - Setting Change run Parallel -2

After the RFC server group is defined use report SAP_RSADMIN_MAINTAIN to create the object entries CR_RFCGROUP in the table RSADMINOSS Note – 534630 Parallel Processing of Change runParallel Processing of Change run Increases memory consumption

Maximum no. of work processes

RFC Server Group

29

Change run Performance – Monitoring - 1

Use Table RSDDSTATAGGR to find the run times

30

Change run Performance – Monitoring - 2

Program RSDDS_CHANGERUN_MONITOR

31

BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions

Agenda

32

Query Performance - 1Cause of Query Performance issues

Database

Database parameters may not be set properly(OSS note :180605)

Database Statistics is not setup properly

Degenerated Indexes

Check if database partitioning is used

Possibility of building an aggregate

ORACLE_PARALLEL_DEGREE value in RSADMIN

OLAP

BW Basis parameters (OSS Note : 192658)

Buffers, I/O, CPU, memory on the database server are exhausted

Check the Read mode of queries / cubes

Check the no. of available dialog processes

Usage of restricted / Calculated keyfigures in the query

Frontend

Check the amount of data being transferred

33

Query Performance - 2

Build Aggregates

OLAP Cache

Pre Calculated Value Sets

Pre Calculated Web Templates

Logical Partitioning - Multi Providers

Physical Partitioning

Look for degenerated Indexes

Compress Infocubes regularly

34

Query Performance – OLAP Cache

OLAP Cache Settings using transaction RSCUSTV14

35

Query Performance – Pre Calculated Web Templates

Maintain the settings in Reporting Agent

36

Query Performance – Pre-Calculated Valuesets

37

Query performance Tuning Techniques - 1Switch on Statistics

38

Query Performance Tuning Techniques - 2

ST03N Expert mode

39

Query Performance Tuning Techniques - 3Run Transaction SM66Identify the process idRun transaction ST04 and find the process in Oracle sessionGet the execution Plan

Partition start and Stop

40

Query Performance Tuning Techniques - 4

Switch on/off aggregates

41

Query Performance Tuning Techniques - 5

Read mode (Table RSRREPDIR)

Tables RSDDSTAT / RSDDSTATAGGR

Cache Monitor(RSRCACHE)

Function Module RSDDCVER_RFC_BW_STATISTICS

BW Stats Cubes

RSRT

RSRTRACE

42

BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions

Agenda

43

Aggregate Rollup & Compression Performance

Aggregates RollupCompress Cubes & aggregates regularly

Rebuild Indexes on Etable of aggregates

Build statistics on Aggregate tables

Include partitioning Characterstic in the aggregates

Do not build stats on the F table of the cube

Compression PerformanceMake sure P index exists on the Etable of Cube & aggregates

Aggregates Ftable size

44

Aggregate Rollup & Compression Performance

Aggregates RollupCompress Cubes & aggregates regularly

Rebuild Indexes on E table of aggregates

Build statistics on Cubes & Aggregates

Include partitioning Characteristic in the aggregates

Do not build stats on the F table of the cube if the table is huge

Compression PerformanceMake sure P index exists on the E table of Cube & aggregates

Aggregates F table size

45

BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions

Agenda

46

SEM BPS Performance - 1Activate Statistics

Transaction BPS_STAT0

Activate Stats

47

SEM BPS Performance - 2

Database Parameter Settings ( OSS Note : 358921)

Executing Specialized functions faster than General functions (eg:- Copy function instead of writing formula to copy)

Program UPC_BW_SELECTION_DEBUG can be used to do the analysis of read access in SEM-BPS

Save the results after ending a planning session before starting another transaction since the memory is released only after the save or exiting the session.

Compress the Infocubes

Build aggregate if possible

Code Formula functions effectively avoiding multiple loops

48

Summary

Check Oracle Parameter & Basis Parameter Settings

Deploy Parallel Processing wherever possible

Look for degenerated Indexes

Use transactions ST03N / ST04 / ST02

ROIDOCPRMS table settings for Load Performance

Make use of Load balancing

Use OLAP Cache

Use Pre-Calculated Value sets and Web Templates

49

Q&A

Questions?

50

Please complete your session evaluation.

Be courteous — deposit your trash, and do not take the handouts for the following

session.

Feedback

Thank You !

51

SAP Developer NetworkLook for SAP TechEd ’04 presentations and videos on the SAP Developer Network.

Coming in December.http://www.sdn.sap.com/

52

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.

Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.

IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation in the United States and/or other countries.

Oracle is a registered trademark of Oracle Corporation.

UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.

Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.

HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.

Java is a registered trademark of Sun Microsystems, Inc.

JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.

MaxDB is a trademark of MySQL AB, Sweden.

SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world All other

Copyright 2004 SAP AG. All Rights Reserved