Skip to end of metadata
Go to start of metadata

Purpose 

This wiki content provides best practice performance tuning configurations for SAP Business Objects Planning and Consolidations 7.5, version for Netweaver.  If performance problems still persist after implementing these configurations please engage SAP services team to do a more detailed analysis of the environment. 

Overview

This section will detail the parameters in which influence the performance of the BPC system. 

ABAP Parameters:

This section will detail the parameters in which need to be checked and monitored. These parameters are environmental specific and dependant on the environment sizing. If you are experiencing performance issues, these parameters needs to monitored along with the SAP Buffers.   

ABAP Parameter 

ztta/roll_extension_dia

ztta/roll_area

abap/heap_area_dia

abap/heap_area_total

em/initial_size_MB

Memory allocation sequence to dialog work processes in SAP:

Initially, a defined roll area is used; this roll area is defined by the SAP parameter ztta/roll_first.

Usually ztta/roll_first is set to 1 in SAP so that only technically necessary amount is allocated to roll memory.  If the memory from the initial roll area (i.e. ztta/roll_first) is not sufficient for the user context then extended memory is used until the extended memory is full or until the user quota is reached

Extended memory is defined by the SAP parameter em/initial_size_MB and the user quota for dialog work process is defined by the parameter ztta/roll_extension_dia.

If this memory is also not sufficient, then the rest of the roll area is used. This roll area is defined by SAP parameter ztta/roll_area. Once this is also fully occupied then the system is forced to use local heap memory (Private Memory), then the work process goes into PRIV mode

Heap memory is available until one of the following occurs:

  1. Either the limit of the heap memory for dialog work processes is reached (abap/heap_area_dia) or the entire heap memory of all work processes (abap/heap_area_total) for an application server reaches its limit.
  2. Operating system limit for allocation of memory
  3. The swap space in the host system is used up or the upper limit of the operating system address space is reached.

The memory allocation strategy for dialog work processes, aims to prevent work processes from allocating R/3 heap memory and thus entering PRIV mode. When a work process enters PRIV mode, it remains connected to the user until the user ends the transaction. Most of the time, we should try to avoid the situation of work process going into PRIV mode for better performance of the SAP system. This can be done by optimally defining abap/heap_area_total parameter.With 64-bit platforms, individual work processes are no longer limited to just 2GB of memory. See SAP Note 146289    Parameter Recommendations for 64-bit SAP Kernel for more details. Check the standard performance documents and notes on NW settings related to performance.  In addition it is always helpful to review the ABAP Application Server Memory Help Section.

Concurrency and Performance Considerations:

  • In order to support large number of concurrent users an appropriate basis configuration must be in place. Each dialogue instance can support 100 a maximum of 100 dialog work processes. Each user request equals to one dialogue process and each can have separate memory requirement. Thus for a large amount of concurrent users you may need additional dialog instances.
  • Sizing of the environment also depends on data volumes, logic complexity and other factors.
  • In order to accommodate higher number of concurrent users, SAP Note 316877 (“Maximum number of conversations exceeded”) can be applied – Set environment variable CPIC_MAX_CONV on the .NET servers with a value of 200.
  • Ensure the proper amount of SWAP space is configured for each instance.
  • Follow SAP NOTE 146289 - Parameter Recommendation for 64-Bit SAP Kernel for best configuration of memory and swap space.
  • Networking:  A general recommendation is to have a minimum of a 1 MB bandwidth connection and a latency of less than 200ms
  • Even without the SAP BPC add-on installed on SAP NetWeaver BI, you can configure numerous profile parameters to optimize your ABAP application server (transaction RZ10    Maintain Profile Parameters).

The rdisp/max_wprun_time parameter determines the timeout (in seconds) for a dialog process.

The recommended value for an SAP NetWeaver BI system is 3,600 seconds. This will mainly affect users running reports, journals or input schedules as these processes run in a Dialog Work Process. For DM, BW uses background work processes that have no such timeout. Background work processes allocate memory differently than dialog work processes so that background work processes can become as large as they need to in allocated memory to allow for processing large volumes of data. The risk is that if the value is greater than a reasonable time, they may fall a scenario where all the dialog work processes become busy and no one can log on into the system because no dialog services are available. This parameter lets NW kill a process that takes too long in a dialog work process, and let the work process handle new dialog requests from other end-users (i.e. logging in, running a report or input schedules)

The rdisp/keepalive_timeout the default parameter is 60 seconds. The Dispatcher checks for idle GUI connections based on the specified duration (seconds) in parameter rdisp/keepalive. If rdisp/keepalive is set with value 1200 seconds, then every 1200 seconds the dispatcher of SAP instance will check all those IDLE GUI connections/sessions which have not shown any kind of data transfers within that 1200 seconds span. For those IDLE GUI connections, Dispatcher will send message (ping) and will wait until the duration specified in parameter rdisp/keepalive_timeout. After that, If Dispatcher will terminate all the IDLE GUI connections & unacknowledged connections for which it has not received any responses within the time specified in parameter rdisp/keepalive_timeout. So the Dispatcher will terminate all the IDLE connections which have not shown any data transfers within the time specified in rdisp/keepalive + rdisp/keepalive_timeout. (i.e.  1200 + 60 = 1260). Again, this is 21 minutes in total. Any report taking longer would not be a good thing, but you can change this as you see fit in RZ11 or RZ10

BPC Functional Parameters

This section will outline certain BPC function aspects and features in which influence the performance of the system

BPC Functional Aspect / Feature

Description

Comments

BPC_STATISTICS

When parameter BPC_STATISTICS is set to "ON", various BPC modules write detailed runtime statistics that can be analysed using transaction UJSTAT. You can use this information to monitor system performance.
Please Note: Once records have been written to the statistical tables, they are not deleted. They must be deleted if the table is very large or the records are extracted to a SAP BW InfoCube for further analysis.
You can run program UJ0_STATISTICS_DELETE in transaction SE38 to delete all records for a given application set and/or application. It is not currently possible to delete individual records.

If you are experiencing performance problems with some of your BPC applications, activate parameter BPC_STATISTICS for the respective applications.
This allows detailed performance analysis. If you are not experiencing performance problems, you can deactivate the parameter to reduce the size of the statistics tables. It is not recommended to have BPC_STATISTICS activated on a production system due to the large amount of statistical and trace records in which get generated and saved. If there are no performance related troubleshooting activities taking place, then it is recommended to deactivate this parameter.

New BI Write Back Module

The write-back module has been optimized with NW 7.01 SP2. A new parameter, NW_VERSION, has been added so that you can use the new RSDRI interface. The value of this parameter must be set to "1", before the new write back module can be used. You must implement SAP Notes 1254915 and 1261683 beforehand.

It is recommended to leave the parameter on its default value. The new BI write back module can be used, but it is recommended that the Support Pack 13 be loaded before implementing as it contains a known program bug in pre SP13 release. Please refer to the following before deciding to implement the new BI write back module:
1543053 - BPC 7.5 NW Run-time error: "35602 and/or a run-time error 440"
1722000 - Cannot send zero after adjusting 'NW_VERSION' to '1'

Logging level of application log 

On Production systems, it is recommended to set the logging level to INF, in order to minimize the amount of information that is logged and kept.

Web Admin application set parameter LOGLEVEL influences how information is written to the application log (SLG1).

There are four types of information:

  • Donothing: Log is off.
  • Error: This level records the least amount of information.
  • Warning: This level records errors and warnings.
  • Info: This level is the default, and records errors, warnings, and other system information.

    Setting parameter LOGLEVEL to "INF" ensures that the necessary information is recorded and can later be analysed in transaction SLG1 by selecting object "UJ".

Number of dimensions in an application

This is the total number of dimension in an BPC application

It has been observed that large applications (> = 14 dimensions) do not perform as well as smaller applications. It is generally recommended that applications contain fewer than 14 dimensions.

Usage of dimension member formulas 

Dimension member formulas allow calculations to be written once and then solved at runtime in any application that uses this dimension. The BPC Shared Query Engine (SQE) uses the NetWeaver BW MDX engine to solve dimension member formulas. Using a large number of dimension member formulas and/or using dimension member formulas in applications with very large data volumes can have a significant negative impact on performance.

Due to their implications for performance, dimension member formulas must be used with caution. If at all possible, you must use calculations that can be stored as a record in the application, and only use dimension member formulas for calculations that must be derived at runtime. The easiest way to "store" calculations in the application is normally to define them in "Default Logic". This ensures that whenever a record in the application is updated, the calculated record can also be updated. For more information, see SAP Note 1356081.

Validation Rules

BPC Validation Rules

Note that intensive usage of validation rules can have a negative impact on system performance. This is particularly true if you use rules that are based on BAdIs, since every single data record is processed separately.

Unused Dimension Properties

BPC Dimension Properties

A dimension property is created as a Navigational attribute created in BW. Any unused or empty dimension properties result in unnecessary navigational attributes being created. It is recommended to remove any unused or empty dimension properties. 

.NET Application Server 

The following settings and parameters need to be verified in order to mitigate any configuration errors or performance constraints

Configuration Setting / Parameter

Description

Total Physical Memory

The .NET server in the BPC solution architecture serves as a gateway to facilitate communication between the BPC client and the ABAP server. It translates the HTTP SOAP client’s requests to corresponding RFC calls to the ABAP server. Due to the application pool running in 32 bit mode, it is not a true 64 bit application process, so it is not necessary for the server to have large amounts of memory, because the process will not be able to leverage the full amount of memory available. 

Page file Location(s)

It is not recommended to place the page file on a non OS drive on physical servers. In virtual environments the placement of the page file plays an important role in the performance of a virtual host and generally is configured on a separate drive or array. Due to not having sufficient information on the virtualization layer and not enough monitoring information on the .NET server, it is recommended to monitor the page file usage and note the commit charge peak (or look at this value after a period of time where you know maximum load was attained) then you set the paging file minimum to be that value minus the amount of RAM in your system.

Please see below links for further information :
http://blogs.citrix.com/2011/12/23/the-pagefile-done-right/
http://blogs.technet.com/b/markrussinovich/archive/2008/11/17/3155406.aspx
http://support.microsoft.com/kb/2160852

OsoftLogging -> Pooling & Recycling 

This value needs to be 4

OsoftuserManage -> Pooling & Recycling

This value needs to be 4

OsoftWebFileManage --> Pooling & Recycling 

This value needs to be 4

IIS --> ASP -> ASPBUFFERINGLIMIT

This value needs to be 10485760 in order to facilitate large requests

IIS --> ASP -> MAXREQUESTENTITYALLOWED

This value needs to be *10485760 *in order to facilitate large requests

Windows Authentication Providers

The following authentication providers need to be configured for the correct operation of the BPC server 
Negotiate, NTLM

IIS Configuration  

By default the web server role has been selected and all of its role services have been installed as per the installation guide. This is in accordance with the SAP installation guide (pg. 15), but in certain organizations with very restrictive IIS configuration settings for Production servers. Having all of the IIS role services will fail the audit and result in a security violation.It is recommended to ensure that the necessary security deviations and controls are put in place to ensure that you are compliant with your organizations security policies. 

Web.Conf -> AppServer_URL Parameter

It is recommended that the value in the WebServer field in the SAP BusinessObjects Server manager be the same value in the Web.Config file ‘AppServer_URL’ parameter value in the BPC_NW\Web folder. This parameter value is used for defining the WebServer and is used for various BPC functions. For Example: BPF processing and switching between the BPC for Excel client and the BPC for Web interface

SSL Encryption 

In production environments, it is recommended to use SSL encryption for communication between clients

SLD Server Connection

It is recommended that the SLD connection be configured. Please see Configuring the SLD Data Supplier in the Operations Guide for further information

Solution Manager Diagnostics (SMD)

The diagnostics functions in SAP Solution Manager allow for identification, analysis, and resolution of problems. Install the Diagnostics Agent according to SAP Note 1234387 on all servers where Interface for the Web and Application Servers are installed.

Microsoft Windows Script 5.7

This needs to be installed, as per the prerequisites of the installation guide. This is checked during a go-Live check for production systems

Microsoft Visual Basic 6 Run-Time SP5 or later**

This needs to be installed, as per the prerequisites of the installation guide. This is checked during a go-Live check for production systems

Installed Microsoft .NET Framework 2.0 and 3.5 or later**.

This needs to be installed, as per the prerequisites of the installation guide. This is checked during a go-Live check for production systems

Installed Microsoft Anti-Cross Site Scripting Library V3.1 and 4.2 installed**

This needs to be installed, as per the prerequisites of the installation guide. This is checked during a go-Live check for production systems

Installed SAP GUI 7.20 installed.  

This needs to be installed, as per the prerequisites of the installation guide. This is checked during a go-Live check for production systems

Xceed Zip Compression Library 6.0.7223.0 or later**

This needs to be installed, as per the prerequisites of the installation guide. This is checked during a go-Live check for production systems

Install the Planning and Consolidation servers on the English international version of Windows rather than on localized versions. For details, see SAP Note 362379.

  • No labels