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:
- 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.
- Operating system limit for allocation of memory
- 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. |
If you are experiencing performance problems with some of your BPC applications, activate parameter BPC_STATISTICS for the respective applications. |
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: |
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).
|
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. |
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 |
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.