You are on page 1of 52

Performance Tuning Massive SAP BW

Systems - Tips & Tricks


Jay Narayanan
OfficeMax
BW Technical Team Lead

1
SAP Systems at OfficeMax

Hazelton, McCalla,
Decentralized Las Vegas
Pennsylvania Alabama
Warehouse Management
Systems WM3
WM1 WM3
WM2 WM3
•Vendor Shipments
•Deliveries made
•Deliveries due
•Inv Adjustments
•Master Data

Shaker Heights, WA ME

Ohio
MT ND VT
MN NH
OR WI NY MA

Retail and Core Business


ID SD CT
WY MI NJ RI
IA PA
N IN OH DE
NV IL
UT E WV MD
CO MO VA
CA K KY

Retail
WM3
S NC
TN
AZ NM OK AR SC
MS AL GA

TX LA
FL

•Order Status •Sales, Inventory


•Inventories •Purchasing, etc.
•Customers •Sales Analysis
•Orders (infospoke)

Shaker Heights,
Shaker Heights,
•Campaign Analysis Ohio
Ohio

WM3
CRM BW/SEM
WM3
•Financial Simulation
(transactional cube)
•Market Basket
(data mining) Business Intelligence
Customer Call Center •Customer Analysis
(Cleveland, Dallas) and Modeling
2
Agenda
BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions 3


BW Technology Platform

Solaris 2.8 1 App Server SAP Portal 6.0


SUN E10K SUN V880 Crystal Enterprise 8.5
48-CPU / 48GB IGS
8-CPU / 32GB
NT Servers
8-CPU

BW 3.1C (SP15) Windows XP


SEM 3.2B (sp12) Hitachi 9960 SAP GUI 6.20
Oracle 9.2 (6TB/Monthly Growth 25GB)

4
Application Areas & InfoProviders

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
5
Performance Statistics for Loads
Data Process Records Runtime Streams

Sales Cube Load 1.8m 30 mins 24


ODS 1.8 m 1.5 hours (actv) 24
Rollup 1.8 m 15 minutes 8
Compression 20 mins 1

Inventory Cube Load 27 m 2 hours 75


Snapshot Rollup 27 m 1.5 hours 1

Purchasing Cube & ODS 1.4 m 2 hrs 24

Master Data Full/Delta Load 140 K 40 mins 10


(27 info objects)

Master Data
Change run 20000 3 hours 8
Alignment

6
BW Users - Yearly
680
700

600
504

500

400

300 Users
195
200 149

100

0
Year- Year- Year- Year
2004 2003 2002 2001
7
BW Users - Daily

250
226 222

200
178

150 141
150

121 117
106 Users
100 96
91
98 99
92

57
52
50

0
8/16/2004 8/23/2004 8/30/2004 8
2
Agenda
BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions 9


Modeling – Performance aspects - 1

• Line Item Dimensions


InfoCube with no Line Item Dimension

Master Data Dimension Dimension Master data


Table
Fact Table Table Sid table
Sid Table

InfoCube with Line Item Dimension

Dimension Master data


Master Data Database Fact Table Table Sid table
Sid table
View

10
Modeling – Performance Aspects - 2
‰ Line Item Dimensions & Cardinality

11
Modeling – Performance Aspects - 3
z Logical Partitioning – Yearly cubes
X Parallel queries run on basic infocubes
X Change run can be run parallel

Year 2004 Cube Year 2003 Cube Year 2002 Cube

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

Compression ratio

13
Modeling – Performance Aspects - 5

z Physical Partitioning
z Aggregates
z Navigational attributes
z Database partitions and
secondary Indexes on ODS.
z Dimensions with more than one Characteristic

14
Agenda
BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions 15


Data Load Performance
z Data Load from Source System
X Configuring ROIDOCPRMS table
} Transaction SBIW

} General Settings->Maintain Control Parameters for Data Transfer

} Refer OSS Note : 417307

X Infosource specific values can be maintained in Scheduler


X TSV_TNEW_PAGE_ALLOC_FAILED if Packet Size is Huge
X Reorg ARFCSDATA & ARFCSSTATE tables
z Flat File load Performance
X Maintain the parameters thru transaction RSCUSTV6
X Load from application server not from Client
reduces network load.

16
Data Load Performance – Number Range Buffering - 1
z 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
z Use Function module RSD_CUBE_GET to Identify the object name of the
dimension.

17
Data Load Performance – Number range buffering - 2
z Use Transaction SNRO ->EDIT-> Setup Buffering->Main memory
z Never set buffering for package dimension

set the values between


500 and 1000.

18
Data Load Performance – Load Balancing - 1
ƒ Use transaction SMLG and create logon group

BW system

Logon group for Load balancing

19
Data Load Performance – Load balancing - 2
z Change RFC settings in the source system
z Use transaction SM59

Source system

20
Data Load Performance
z Drop Unused Partitions
z Use program SAP_DROP_EMPTY_FPARTITIONS
X Avoid Long execution times for Index rebuild

21
Data Load Performance
z Drop and recreate source twin Structures
X Program LMCSWTOP set flag FLG_DCT = ‘X’
z Drop and Recreate Bitmap indexes on F table
z Use Parallel Processing
z ODS loads & activation parallel
z Check Update / Transfer rules
z Index on source tables for full loads with selection
z Define PSA Part. size using transaction RSCUSTV6
X Minimum no. of records in a PSA partition
X Use program SAP_PSA_PARTITION_COMPRESS for existing PSA
tables
z Compress Cubes and aggregates regularly

22
Agenda
BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions 23


Change run performance - 1
z How Change run works on aggregates
X Inserts new records positively and old records negatively

24
Change run Performance - 2
z Function module RSCDS_CONDENSE_CUBE

Aggregate name

Enter X for aggregate

Value of cnsid_to of table rsddaggrdir

25
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

26
Change run Performance - Setting Change run Parallel -1
‰ Create an RFC server group using transaction RZ12

27
Change run Performance - Setting Change run Parallel -2
z After the RFC server group is defined use report SAP_RSADMIN_MAINTAIN to create
the object entries CR_RFCGROUP in the table RSADMIN
z OSS Note – 534630 Parallel Processing of Change run
z Parallel Processing of Change run Increases memory consumption

Maximum no. of work


processes

RFC Server Group

28
Change run Performance – Monitoring - 1
‹ Use Table RSDDSTATAGGR to find the run times

29
Change run Performance – Monitoring - 2
‰ Program RSDDS_CHANGERUN_MONITOR

30
Agenda
BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions 31


Query Performance - 1
‰ Cause of Query Performance issues
X 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


X 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


X Frontend
} Check the amount of data being transferred

32
Query Performance - 2
z Build Aggregates
z OLAP Cache
z Pre Calculated Value Sets
z Pre Calculated Web Templates
z Logical Partitioning - Multi Providers
z Physical Partitioning
z Look for degenerated Indexes
z Compress Infocubes regularly

33
Query Performance – OLAP Cache
‰ OLAP Cache Settings using transaction RSCUSTV14

34
Query Performance – Pre Calculated Web Templates

 Maintain the settings in Reporting Agent

35
Query Performance – Pre-Calculated Valuesets

36
Query performance Tuning Techniques - 1
‰ Switch on Statistics

37
Query Performance Tuning Techniques - 2
‰ ST03N Expert mode

38
Query Performance Tuning Techniques - 3
z Run Transaction SM66
z Identify the process id
z Run transaction ST04 and find the process in Oracle session
z Get the execution Plan

Partition start and Stop

39
Query Performance Tuning Techniques - 4

Switch on/off aggregates

40
Query Performance Tuning Techniques - 5
z Read mode (Table RSRREPDIR)
z Tables RSDDSTAT / RSDDSTATAGGR
z Cache Monitor(RSRCACHE)
z Function Module
RSDDCVER_RFC_BW_STATISTICS
z BW Stats Cubes
z RSRT
z RSRTRACE

41
Agenda
BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions 42


Aggregate Rollup & Compression Performance

z Aggregates Rollup
¾ Compress 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
z Compression Performance
¾ Make sure P index exists on the Etable of Cube & aggregates
¾ Aggregates Ftable size

43
Aggregate Rollup & Compression Performance

z Aggregates Rollup
X Compress Cubes & aggregates regularly
X Rebuild Indexes on E table of aggregates
X Build statistics on Cubes & Aggregates
X Include partitioning Characteristic in the aggregates
X Do not build stats on the F table of the cube if the table is huge
z Compression Performance
X Make sure P index exists on the E table of Cube & aggregates
X Aggregates F table size

44
Agenda
BW Technical Overview

Modeling

Extraction

Changerun

Queries

Compression & Aggregates Rollup

SEM BPS Functions 45


SEM BPS Performance - 1
z Activate Statistics
z Transaction BPS_STAT0

Activate Stats

46
SEM BPS Performance - 2
z Database Parameter Settings ( OSS Note : 358921)
z Executing Specialized functions faster than General
functions (eg:- Copy function instead of writing
formula to copy)
z Program UPC_BW_SELECTION_DEBUG can be used
to do the analysis of read access in SEM-BPS
z 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.
z Compress the Infocubes
z Build aggregate if possible
z Code Formula functions effectively avoiding multiple
loops 47
Summary
z Check Oracle Parameter & Basis Parameter
Settings
z Deploy Parallel Processing wherever possible
z Look for degenerated Indexes
z Use transactions ST03N / ST04 / ST02
z ROIDOCPRMS table settings for Load Performance
z Make use of Load balancing
z Use OLAP Cache
z Use Pre-Calculated Value sets and Web Templates

48
Questions?

Q&A

49
Feedback
Please complete your session evaluation.
Be courteous — deposit your trash,
and do not take the handouts for the following
session.

Thank You !

50
SAP Developer Network
Look for SAP TechEd ’04 presentations and videos on
the SAP Developer Network.
Coming in December.
http://www.sdn.sap.com/

51
Copyright 2004 SAP AG. All Rights
Reserved
No part of this publication may be reproduced or transmitted in any form or for any purpose
z
without the express permission of SAP AG. The information contained herein may be changed
without prior notice.
z Some software products marketed by SAP AG and its distributors contain proprietary software
components of other software vendors.
z Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft
Corporation.
z 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.
z Oracle is a registered trademark of Oracle Corporation.
z UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
z Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are
trademarks or registered trademarks of Citrix Systems, Inc.
z HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide
Web Consortium, Massachusetts Institute of Technology.
z Java is a registered trademark of Sun Microsystems, Inc.
z JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for
technology invented and implemented by Netscape.
z MaxDB is a trademark of MySQL AB, Sweden.
z SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver and other SAP products and 52
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

You might also like