Performance Tuning Massive SAP BW Systems - Tips and Tricks
-
Upload
andrefumian -
Category
Documents
-
view
67 -
download
6
Transcript of Performance Tuning Massive SAP BW Systems - Tips and Tricks
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