Documents.mx Sap Business Objects Financial Consolidation
Comments
Description
SAP Business Objects Financial ConsolidationTuning Best Practices Guide Version 1, October 2009 TUNING GUIDE SAP BUSINESS OBJECTS FINANCIAL CONSOLIDATION Typographic Conventions Icons Type Style Icon Example Text Represents Words or characters quoted from the screen. These include field names, screen titles, pushbuttons labels, menu names, menu paths, and menu options. Cross-references to other documentation. Example text Emphasized words or phrases in body text, graphic titles, and table titles. EXAMPLE TEXT Technical names of system objects. These include report names, program names, transaction codes, table names, and key concepts of a programming language when they are surrounded by body text, for example, SELECT and INCLUDE. Example text Example text <Example text> EXAMPLE TEXT Output on the screen. This includes file and directory names and their paths, messages, names of variables and parameters, source text, and names of installation, upgrade and database tools. Exact user entry. These are words or characters that you enter in the system exactly as they appear in the documentation. Variable user entry. Angle brackets indicate that you replace these words and characters with appropriate entries to make entries in the system. Keys on the keyboard, for example, F2 or ENTER. Meaning Caution Example Note Recommendation Syntax TUNING GUIDE SAP BUSINESS OBJECTS FINANCIAL CONSOLIDATION Contents 1 INTRODUCTION ....................................................................................................................... 5 2 BFC TECHNICAL ARCHITECTURE ........................................................................................ 5 3 TUNING BFC INFRASTRUCTURE .......................................................................................... 8 Application Server .............................................................................................................................................................................. 8 Monitoring Tools ............................................................................................................................................................................. 8 OS Optimization ............................................................................................................................................................................ 12 BFC tracing .................................................................................................................................................................................... 24 Optimizing BFC Transfer .............................................................................................................................................................. 26 Web Server ........................................................................................................................................................................................ 27 Monitoring Tools ........................................................................................................................................................................... 32 OS Optimization ............................................................................................................................................................................ 39 Citrix/TSE Server ............................................................................................................................................................................. 39 General Information ....................................................................................................................................................................... 39 Bandwidth Required by ICA Protocol ........................................................................................................................................... 40 Desktop Versus Published Application Connection ...................................................................................................................... 40 Application Installation .................................................................................................................................................................. 41 Database Server ................................................................................................................................................................................ 42 Oracle Database ............................................................................................................................................................................. 46 SQL Server database ...................................................................................................................................................................... 68 4 APPLICATION TUNING ..........................................................................................................74 Performance: A Few Reminders ..................................................................................................................................................... 74 Data Collection .................................................................................................................................................................................. 74 Validating the Data Volume .......................................................................................................................................................... 74 Checking the Standards Calculations ............................................................................................................................................. 75 Limiting External Calculations ...................................................................................................................................................... 76 Avoiding Package Rules ................................................................................................................................................................ 76 Data Processing ................................................................................................................................................................................. 77 Checking the Consolidation logs ................................................................................................................................................... 77 Using SQL Rules Sparingly ........................................................................................................................................................... 77 Data Retrieval ................................................................................................................................................................................... 78 Selecting Data Properly ................................................................................................................................................................. 78 Designing Simple Web Reports ..................................................................................................................................................... 79 Creating index(es) on Data Tables ................................................................................................................................................. 79 Application ........................................................................................................................................................................................ 80 Tuning Best Practices Guide Business Objects Financial Consolidation 4 Calibrating the Operating IT Platform ........................................................................................................................................... 80 ©SAP AG 2009 and the data layer have been developed as independent modules for Windows Intel 32-bit in an environment comprised of Microsoft Visual C++.NET and DHTML with a strong object-oriented design. The solution provides full process control and data transparency. All calculations and consolidations occur in the database. The integrated data model also allows organizations to perform side-by-side. This applies to all of the components except for the database servers. ©SAP AG 2009 . permitting consolidation and direct comparison of all possible views in one integrated data model. The presentation layer (Windows and Web interfaces). This applies to all of the components: database servers. SAP BusinessObjects Financial Consolidation uses multi-tier client/server architecture. ASP. increasing the number of processors on a single server).Tuning Best Practices Guide Business Objects Financial Consolidation 1 5 Introduction This Best Practice document describes the technical architecture of BusinessObjects Financial Consolidation and provides several tips and tricks to optimize the separate system components. that is. In addition. HTTP servers and Windows TS/Citrix servers. the following further Best Practice documents for BusinessObjects Financial Consolidation are available: 2 - Troubleshooting Guide - Volume Test Optimization - System Monitoring & Administration BFC Technical Architecture SAP BusinessObjects Financial Consolidation is a consolidation and management reporting solution. You can therefore increase the number of servers to adapt to the growing number of users with increased availability and deployment flexibility. section 4 includes miscellaneous recommendations to optimize the performance from an application point of view. . The solution combines legal and management reporting structures into one process. DCOM. permitting simulation of unlimited scenarios that address all performance management reporting requirements of an organization. the functional layer. application servers.NET. what-if simulations. Microsoft Visual C#. SAP BusinessObjects Financial Consolidation also supports a multi-server architecture (scaling-out). This means that it can use all of the processors available on the server simultaneously and automatically (scaling-in. SAP BusinessObjects Financial Consolidation is a multi-thread application. Besides this document. ©SAP AG 2009 . This configuration uses a cache that speeds up processing and limits the need for retrieving data directly from the database. all of the components will be installed on the same computer. The first tier consists of the database server. During the whole session life. All application exchanges are done via database synchronization mechanisms. The third tier consists of the SAP BusinessObjects Financial Consolidation client and can be: SAP BusinessObjects Financial Consolidation Windows client SAP BusinessObjects Financial Consolidation Web client (Internet Explorer) SAP Excel (if Excel Link is used) Web clients and Web Excel Link will require a HTTP server to access the application server. The application server also generates the HTML pages requested by the Web clients. Its main function is to ensure that the link between the client and the database exists. The client is directed the first time by the CtBroker component to one application server instance (loadbalancing algorithm). In SAP BusinessObjects Financial Consolidation there is no direct communication between application servers. It represents the only source for connections to the database. In a standalone configuration. which contains all of the data that SAP BusinessObjects Financial Consolidation processes. The size of the application server cache will be adapted to the specific use of the application as specified in the Technical handbook report.Tuning Best Practices Guide Business Objects Financial Consolidation 6 Software components in the SAP BusinessObjects Financial Consolidation architecture You can install the components on different computers. which is slower to access. All background processing is run on the application server. The second tier consists of the application server. This enables you to install the database client and OLE DB drivers on the application server and not on each client computer. the client is still attached at the same application server. All of the data in the application is stored here. Tuning Best Practices Guide Business Objects Financial Consolidation 7 Except the HTTP based connection.exe/Excel.Net engine) response DCOM WB-REQ WEB server to broker request (only for connection request) DCOM BW-RES Broker to WEB response (only for connection request) DCOM CC-REQ CITRIX client (Finance.Net engine) HTTP WC-RES WEB server response to WEB client HTTP WA-REQ WEB server (ASP. all other connections are permanent client/server connections.Net engine) to application server request DCOM AW-RES Application server to WEB server (ASP.exe/Excel. Flow type Description Used Protocol CW-REQ WEB client (IE/Excel via http) request to the WEB server (IIS/ASP.exe/ Excel.exe) response DCOM CB-REQ CITRIX server to broker request (only for connection request) DCOM BC-RES Broker to CITRIX response (only for connection request) DCOM CTRL Broker – Application server check communication DCOM AD-REQ Application server (ctserver.exe via DCOM) to the CITRIX server request ICA CC-RES CITRIX server to CITRIX client response ICA CA-REQ CITRIX server (Finance.exe) to application server request DCOM AC-RES Application server to CITRIX server (Finance.exe) to database query (SQL) OleDB/TCPIP DA-RES Database server to application server response (ROWSET) OleDB/TCPIP ©SAP AG 2009 . exe.exe and the BusinessObjects Finance Web connector (via a HTTP query). Note: The application server is identified by the CtServer. you need to install a HTTP server.exe process. The application server also runs the processing required by the web clients. you can manage a large number of concurrent user connections easily and ensure that the system is fault tolerant. By configuring SAP BusinessObjects Financial Consolidation with multiple application servers connected to the same database.exe and the BusinessObjects Finance Web connector.exe ©SAP AG 2009 It calls up Ctserver. Monitoring Tools Monitoring the servers consists of the following tasks: Verify that the processes ctbroker. The application server runs the processing required for the consolidation and transmission of data. CtController.exe are up and running.exe. Configure log monitoring. Users can perform the same operation tasks using the same setup as the Windows client. and apserver. It is called up by Finance. Monitor resource consumption (mainly the CPU and memory). it contains: . ctcontroller. You must also install activePDF Server. The SAP BusinessObjects Financial Consolidation web enables client computers that do not have the application installed on their computers use Internet Explorer to access the application. partially formats the data retrieved. For each environment BusinessObjects Finance. and runs report bundles. on the application server.exe.exe. To be able to use the financial consolidation web application. ctserver. which is used for printing reports. The cache bridges the database and client computers and improves performance.Tuning Best Practices Guide Business Objects Financial Consolidation 3 8 Tuning BFC Infrastructure Application Server The application server performs the following tasks: • Manages user connections using the DCOM protocol • Connects to the database using OLE DB to manage the connection pool • Uses internal applicative caching for the most frequently used objects • Runs the processing required for ensuring data integrity and for locking objects • Generates HTML pages for the Web clients • Runs batch processing The main function of the application server is to ensure that the link between the SAP BusinessObjects Financial Consolidation clients and the database exists. SAP BusinessObjects Financial Consolidation Application & CtBroker Servers Name Description This executable process corresponds to the data source manager : ctbroker. There can only be a single CtBroker. This tool is known as Perfmon and is available in Windows. It‘s a service.Click on Start then Run… Enter perfmon in the window that will open . This process can be managed neither by the Net start/Net stop command nor by the Windows Control Panel.exe module in each BusinessObjects Financial Consolidation environment.exe is a system process. etc. Ctserver. As a result. you have 1 CtServer process per application server. To run Perfmon on an English language operating system and to load the template provided by SAP Support. a general system overload occurs and not all of the queries can be handled at the same time. It enables you to monitor the platform using a system of counters that can subsequently be analyzed.Tuning Best Practices Guide Business Objects Financial Consolidation 9 the list of application servers. CtController.In the console root.exe It is the main component of the BusinessObjects Finance application server. go to Performance Logs and alerts and then Counter Logs ©SAP AG 2009 . His main purpose is to synchronize the CtServer instances.exe Apserver.exe CtController. 1 CtController per application server and 1 Apserver. source ODBC/OLEDB and information of connection to the base. you can use a tool supplied by Microsoft. please carry out the following steps: . we recommend that you monitor certain performance indicators. By default. and so on. memory use. and the URL used by the Web server if so. To evaluate the platform load and monitor resource consumption (mainly in the CPU and memory).exe process per application server. ctserver. if heavy demands are placed on the servers (application servers or RDBMS). You can use the Microsoft tool Performance Analyzer to do so. listed in the Windows Task Manager. memory and disk access). it manages connections between Windows BusinessObjects Finance clients and database. In these situations. It is the process of ActivePDF Server.exe is a service. Certain processes sometimes use a lot of system resources (CPU. These processes must be monitored – if they disappear this may reveal a lack in application availability. you must transfer them to SAP Support for analysis. Choose OK.Company : SAP --> <!-.0 Transitional//EN"> ©SAP AG 2009 . <!-.************************************ --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4. right click and then select New Logs Settings From. together with the Magnitude logs for the period during which you encountered problems. .Description : Perfmon Template for --> <!-. . and select Start to start the monitoring tool‘s log. our Support team will analyze the causes of these anomalies. Here is an example of a Perfmon template.Tuning Best Practices Guide Business Objects Financial Consolidation 10 . It is only valid for English language operating systems.Adjust the settings so that the log meets your requirements.Choose OK twice.************************************ --> <!-. You will receive the result of this analysis in the form of a chart. On the basis of these logs. .htm (where X depends on the file version). Once the logs have been generated.OS in english ONLY --> <!-. select the file log_SAP_us_vX.To the right of the window.Right-click the new log generated. Next. Path" VALUE="\PhysicalDisk(_Total)\Avg.Path" VALUE="\Process(ctserver)\Private Bytes"> <PARAM NAME="Counter00029.Path" VALUE="\Process(oracle)\Page Faults/sec"> <PARAM NAME="Counter00072.Oracle counters [2 instances] --> <PARAM NAME="Counter00066.Path" VALUE="\Processor(3)\% Processor Time"> <!-.Path" VALUE="\Process(oracle)\% Processor Time"> <PARAM NAME="Counter00071.csv"> <PARAM NAME="EOFCommandFile" VALUE=""> <!-.Path" VALUE="\Memory\Pages/sec"> <PARAM NAME="Counter00004.Path" VALUE="\PhysicalDisk(_Total)\Disk Reads/sec"> <PARAM NAME="Counter00011.Path" VALUE="\Memory\Available MBytes"> <PARAM NAME="Counter00002.Path" VALUE="\Process(oracle#1)\% Processor Time"> <PARAM NAME="Counter00067.Path" VALUE="\Process(oracle)\Private Bytes"> <PARAM NAME="Counter00073.Path" VALUE="\PhysicalDisk(_Total)\Disk Writes/sec"> <PARAM NAME="Counter00014.Path" VALUE="\Process(ctserver#2)\% Processor Time"> <PARAM NAME="Counter00023.Path" VALUE="\Process(oracle)\Virtual Bytes"> </OBJECT> </BODY> </HTML> ©SAP AG 2009 11 .Basic counters --> <PARAM NAME="Counter00001.Path" VALUE="\Process(ctserver#1)\Virtual Bytes"> <PARAM NAME="Counter00022.Path" VALUE="\Processor(2)\% Processor Time"> <PARAM NAME="Counter00018.Path" VALUE="\PhysicalDisk(_Total)\Disk Read Bytes/sec"> <PARAM NAME="Counter00010.CtServer counters [3 instances] --> <PARAM NAME="Counter00018.Path" VALUE="\PhysicalDisk(_Total)\Disk Transfers/sec"> <PARAM NAME="Counter00012.Path" VALUE="\Process(oracle#1)\Page Faults/sec"> <PARAM NAME="Counter00068. Disk sec/Transfer"> <PARAM NAME="Counter00007.Path" VALUE="\Processor(1)\% Processor Time"> <PARAM NAME="Counter00017. Disk Read Queue Length"> <PARAM NAME="Counter00006.Path" VALUE="\PhysicalDisk(_Total)\Avg.Path" VALUE="\Process(oracle#1)\Virtual Bytes"> <PARAM NAME="Counter00070.Path" VALUE="\Process(ctserver#2)\Page Faults/sec"> <PARAM NAME="Counter00024.Path" VALUE="\Process(ctserver)\Page Faults/sec"> <PARAM NAME="Counter00028.Path" VALUE="\PhysicalDisk(_Total)\Current Disk Queue Length"> <PARAM NAME="Counter00009.Tuning Best Practices Guide Business Objects Financial Consolidation <HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft System Monitor"> </HEAD> <BODY> <OBJECT ID="DISystemMonitor1" WIDTH="100%" HEIGHT="100%" CLASSID="CLSID:C4D2D8E0-D1DD-11CE-940F008029004347"> <PARAM NAME="_Version" VALUE="196611"> <PARAM NAME="LogName" VALUE="log_SAP_us_v3"> <PARAM NAME="Comment" VALUE=""> <PARAM NAME="LogType" VALUE="0"> <PARAM NAME="CurrentState" VALUE="0"> <PARAM NAME="RealTimeDataSource" VALUE="1"> <PARAM NAME="LogFileMaxSize" VALUE="-1"> <PARAM NAME="DataStoreAttributes" VALUE="33"> <PARAM NAME="LogFileBaseName" VALUE="log_SAPus"> <PARAM NAME="LogFileSerialNumber" VALUE="1"> <PARAM NAME="LogFileFolder" VALUE="C:\PerfLogs"> <PARAM NAME="Sql Log Base Name" VALUE="SQL:!log_SAP_us"> <PARAM NAME="LogFileAutoFormat" VALUE="1"> <PARAM NAME="LogFileType" VALUE="0"> <PARAM NAME="StartMode" VALUE="0"> <PARAM NAME="StopMode" VALUE="3"> <PARAM NAME="StopAfterUnitType" VALUE="4"> <PARAM NAME="StopAfterValue" VALUE="1"> <PARAM NAME="RestartMode" VALUE="3"> <PARAM NAME="LogFileName" VALUE="C:\PerfLogs\log_SAP_us_000001.Path" VALUE="\Process(ctserver#2)\Virtual Bytes"> <PARAM NAME="Counter00026.Path" VALUE="\Process(oracle#1)\Private Bytes"> <PARAM NAME="Counter00069.Path" VALUE="\Processor(0)\% Processor Time"> <PARAM NAME="Counter00016.Path" VALUE="\Process(ctserver#1)\% Processor Time"> <PARAM NAME="Counter00019.Path" VALUE="\Processor(_Total)\% Processor Time"> <PARAM NAME="Counter00015.Path" VALUE="\PhysicalDisk(_Total)\Avg. Disk Queue Length"> <PARAM NAME="Counter00005.Path" VALUE="\PhysicalDisk(_Total)\Disk Write Bytes/sec"> <PARAM NAME="Counter00013.Path" VALUE="\Process(ctserver#2)\Private Bytes"> <PARAM NAME="Counter00025. Disk Write Queue Length"> <PARAM NAME="Counter00008.Path" VALUE="\Process(ctserver)\% Processor Time"> <PARAM NAME="Counter00027.Path" VALUE="\Process(ctserver#1)\Page Faults/sec"> <PARAM NAME="Counter00020.Path" VALUE="\Memory\Page Faults/sec"> <PARAM NAME="Counter00003.Path" VALUE="\Process(ctserver)\Virtual Bytes"> <!-.Path" VALUE="\Process(ctserver#1)\Private Bytes"> <PARAM NAME="Counter00021.Path" VALUE="\PhysicalDisk(_Total)\Avg. it is recommended to change one parameter at a time to see what performance improvements are offered. Preemptive multitasking is a methodology whereby the execution of a process is halted and another is started. Open the System Control Panel. 3. then you need to reverse the change. 2. Select the Advanced tab. This prevents a single thread from monopolizing the CPU. To change this: 1. The Windows operating system includes a setting that determines how long individual threads are allowed to run on the CPU before a context-switch occurs and the next thread is serviced. click Settings. you can consult the following information: Windows events log OS Optimization If changes should be done on the applications servers. This amount of time is referred to as a quantum. We recommend selecting Background services so that all programs receive equal amounts of processor time. Select the Advanced tab. If system performance decreases after making a change. ©SAP AG 2009 . 4.Tuning Best Practices Guide Business Objects Financial Consolidation 12 In case of troubleshooting. Switching the CPU from executing one process to the next is known as context-switching. Processor Scheduling Windows uses preemptive multitasking to prioritize process threads that the CPU has to attend to. at the discretion of the operating system. This setting lets you choose how processor quanta are shared between foreground and background processes. Within the Performance frame. This area. These values remain the same between the 32-bit (x86) and 64-bit (x64) editions of the Windows Server 2003 operating system. We strongly recommend you use only the control panel for these settings so you always get valid. The Win32PrioritySeparation Registry values in Windows Server 2003 are: _ 0x00000026 (38) for best performance of Programs _ 0x00000018 (24) for best performance of Background services. known as the paging file. is used by the operating system to page portions of physical memory contents to disk.Tuning Best Practices Guide Business Objects Financial Consolidation 13 Modifying the value using the control panel applet as described above modifies the following registry value to affect the duration of each quantum: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\PriorityControl\Win32PrioritySeparation This setting is the preferred setting for most servers. operating system revision-specific and optimal values in the registry. like most other operating systems. Windows. employs virtual memory techniques that allow applications to address greater amounts of memory than what is physically available. Virtual Memory Memory paging occurs when memory resources required by the processes running on the server exceed the physical amount of memory installed. appropriate. freeing up physical memory to be used by applications that require it at a given ©SAP AG 2009 . This is achieved by setting aside a portion of disk for paging. Select the Advanced tab. A pagefile can be created for each individual volume on a server. The paging file. Within the Performance frame. Select the Advanced tab. Click Change. The total of all pagefiles on all volumes is managed and used by the operating system as one large pagefile. This is the minimum amount of space required to create a memory dump in the event the server encounters a STOP event (blue screen). Physical memory can be accessed at exponentially faster rates than disk. click Settings. ©SAP AG 2009 . Virtual memory settings are configured through the System control panel. including letting the system manage the size of the page file.Tuning Best Practices Guide Business Objects Financial Consolidation 14 time. it will create a pagefile of a size equal to physical memory + 1 MB. 5. is named PAGEFILE. 4. in Windows. excessive. While some degree of paging is normal on servers. or to have no page file at all. it is always desirable to minimize paging activity. or pagefile.SYS. Open the System Control Panel. The combination of the paging file and the physical memory installed in the server is known as virtual memory. This allows for a maximum total pagefile size of 64 GB. Ideally servers should be designed with sufficient physical memory to keep paging to an absolute minimum. Virtual memory is managed in Windows by the Virtual Memory Manager (VMM). If you let Windows manage the size. Windows Server 2003 has introduced new settings for virtual memory configuration. up to a maximum of sixteen pagefiles and a maximum 4 GB limit per pagefile. 2. Thus. 3. To configure the page file size: 1. consistent memory paging activity is referred to as thrashing and can have a very debilitating effect on overall system performance. Every time a server has to move data between physical memory and disk will introduce a significant system delay. If this must occur. the virtual memory manager optimizes the workload by selecting the less busy disk based on internal algorithms. though performance might be improved through the use of some RAID configurations. and other applications and data. Redundancy is not normally required for pagefiles.microsoft. the one typically hosting the operating system. ©SAP AG 2009 . where disk speed is highest and performance is best. This is achieved by placing the pagefiles in different folders on the same volume. Where pagefile optimization is critical.com/?kbid=237740 Configuring the Pagefile for Maximum Performance Gain Optimal pagefile performance will be achieved by isolating pagefiles to dedicated physical drives running on RAID-0 (striping) or RAID-1 (mirroring) arrays.DMP) in which to write debugging information in the event that a kernel mode STOP error message (―blue screen of death‖) occurs. since the disk heads will be continually moving between the volumes. the pagefile size should be kept uniform between drives and ideally on drives of the same capacity and speed. operating system files.SYS is the only file on the entire volume and risks no fragmentation caused by other files or directories residing on the same volume. By using a dedicated disk or drive array. We strongly recommend against the use of RAID-5 arrays to host pagefiles. ensure that the pagefile exists on the same volume (typically C:) as the operating system. This normally produces better results than allowing the server to size it automatically or having no pagefile at all. This change is carried out through editing the system registry rather than through the standard GUI interface. While not best practice. then you will have no option but to leave a pagefile of at least the size of physical memory + 1 MB on the boot partition. If you do require a crash dump file. the more physical disks you have in the array. this means PAGEFILE. This ensures best possible performance for a multiple-volume pagefile. do not place the pagefile on the same physical drive as the operating system. Windows cannot create a crash dump file (MEMORY. As with most disk-arrays. the better the performance is. Putting it on another volume on the same physical drive will only increase disk seek time and reduce system performance. which happens to be the system default. Note if you do remove the paging file from the boot partition. as pagefile activity is write intensive and thus not suited to the characteristics of RAID-5. alternately accessing the page file. The process to achieve this is outlined in Microsoft KB article 237740: http://support. when it needs to write to the pagefile.Tuning Best Practices Guide Business Objects Financial Consolidation 15 When a pagefile is split between smaller pagefiles on separate volumes as described above. or on single disks without RAID at all. it is possible to create multiple pagefiles on the same operating system volume. We recommend setting the size of the pagefile manually. Remember too that the first partition on a physical disk is closest to the outside edge of the physical disk. When distributed between multiple volumes on multiple physical drives. The work and time involved in moving data to another volume temporarily to achieve this outcome often means. then consider increasing the amount of physical memory in the server by this amount. it would be prudent to add an additional say 256 MB RAM. This is especially given this resizing activity is typically occurring when the memory resources on the system are already becoming constrained. On servers with adequate disk space. The best way to create a contiguous static pagefile in one step is to follow this procedure for each pagefile configured: 1. Defragment the disk you want to create the page file on. that this procedure is not always achievable on a production server. This ensures the file is created as one large contiguous file as close to the very outside edge of the disk as possible. This step should give you enough continuous space to avoid partitioning of your new page file. which can be intensive.Tuning Best Practices Guide Business Objects Financial Consolidation 16 Best-practice tuning is to set the initial (minimum) and maximum size settings for the pagefile to the same value. then clicking Set. contiguous area. If this reveals consistent use of the pagefile. Ignore the warning message about the page file. Windows Server 2003 automatically recommends a total paging file size equal to 1. This ensures that no processing resources are lost to the dynamic resizing of the pagefile. 2. Setting the same minimum and maximum pagefile size values also ensure that the paging area on a disk is one single. Create a new pagefile with the desired values 5. An ever better approach is to re-format the volume entirely and create the pagefile immediately before placing any data on the disk. 4. Disabling or Removing Unnecessary Services ©SAP AG 2009 . Servers of lesser workloads or those tight on disk space should still try to use a pagefile total of at least equal to the amount of physical memory. improving disk seek time. Creating the whole pagefile in one step reduces the possibility of having a partitioned pagefile and therefore improves system performance. For example. Reboot the machine and click OK. The only drawback of having such a large pagefile is the amount of disk space consumed on the volumes used to accommodate the pagefile(s). ensuring no fragmentation and best disk access performance. Remove the current page files from your server by clearing the Initial and Maximum size values in the Virtual Memory settings window or by clicking No Paging File. if a pagefile is 2048 MB (2 GB) and your server is consistently showing 10% usage. Reboot the server.5 times the amount of installed RAM. the pagefile on all disks combined should be configured up to twice the physical memory for optimal performance. however. Measuring Pagefile Usage A good metric for measuring pagefile usage is Paging file: %Usage Max in the Windows System Monitor. 3. many services are enabled that might not be necessary for the application server. To view the services running in Windows. Right-click the service and click Properties. Click the Standard tab at the bottom of the right-pane.Tuning Best Practices Guide Business Objects Financial Consolidation 17 When Windows is first installed. Select the Services icon. 2. Expand the Services and Applications icon. do the following: 1. Disabling services should be done with care. on many systems. From this dialog. Unless you are completely certain of the purpose of a given service it is recommended to research it further before choosing to disable it. all services that are not required to be running on the server should be stopped and disabled. Inexperienced users might also inadvertently add additional services when installing or updating the operating system that are not actually required for a given system. 5. it is better to disable unnecessary services to improve performance. All the services installed on the system are displayed. complete the following steps: 1. This will prevent the service from automatically starting at system boot time. Each service requires system resources and. ©SAP AG 2009 . running or not. This sorts all running (Started) services from those that are not running. Disabling some services that the operating system requires to be running can render a system inoperable and possibly unable to boot. Click twice on Status at the top of the third column shown. To stop and disable a service. 3. Click Stop and set the Startup type to Disabled. is shown in the third column. Right-click My Computer and select Manage. as a result. there still remains. While in Windows Server 2003 many more services are disabled by default than in previous editions of the server operating system. The status. 2. an opportunity for improving performance further by examining running services. 4. a better approach is to remove or uninstall this application or component altogether. Right-click Local Area Connection (or the name of your network connection). Click Properties. Unless a service is explicitly set to have a startup type of Disabled. ©SAP AG 2009 . This is typically performed through the Add or Remove Programs applet in the Control Panel. Some services might not be required at system boot time but might be required to start by other applications or services at a later time. Click Configure to access the configuration settings available for the network interface card. 5. 4. 3. it can start at any time and perhaps unnecessarily use system resources. 6. Optimizing Network Card Settings Many network interface cards in servers today have settings that can be configured through the Windows interface. Click the Advanced tab. Setting these optimally for your network environment and server configuration can significantly affect the performance of network throughput. Such services should be set to have a startup type of Manual. Of all the performance tuning features outlined in this chapter. it is the ones in this section that have been noted to have the biggest improvement on system performance and throughput.Tuning Best Practices Guide Business Objects Financial Consolidation 18 3. follow these steps: 1. Click Properties. 2. Click Configure. Click OK to return to the Services window. Click Start → Settings → Network Connections. To access this range of settings. If a particular service has been installed as part of an application or Windows component and is not actually required on a given server. The following settings are the ones that can have the most dramatic impact on performance: Link Speed and Duplex Experience suggests that the best practice for setting the speed and duplex values for each network interface in the server is to configure them in one of two ways: – Set to auto-negotiation if. – Set to the same link speed and same duplex settings as those of the switch. We do not recommend the use of auto-negotiation for the server network interface combined with manually setting the parameter on the network switch. or fault tolerance. For more information. These settings will. and only if. Using such a combination of settings at differing ends of the network connection to the server has often been found to cause poor performance and instability in many production environments and should definitely be avoided. or vice-versa. The server and switch should then negotiate the fastest possible link speed and duplex settings. but not a mix of both of these. normally yield the best performance if set to the highest settings that the switch will support.html#auto_neg_valid ©SAP AG 2009 . of course. see the following Cisco Web site: http://www.Tuning Best Practices Guide Business Objects Financial Consolidation 19 The exact configuration settings available differ from one network interface card to another. Note also that some network interface cards are largely self-tuning and do not offer the option to configure parameters manually. including the individual cards within a set team of interfaces that are configured for aggregation.cisco. To summarize. load balancing. : You apply these settings for each physical network interface. the switch port is also set to auto negotiation.com/warp/public/473/46. you might need to apply these settings to the team also. With some teaming software. use either auto-negotiation at both interfaces or hard-code the settings at both interfaces. 2 GB of this is reserved for the operating system kernel requirements (privileged-mode) and the other 2 GB is reserved for application (user-mode) requirements. the 32-bit (x86) editions of Windows can address a total of 4 GB of virtual address space. The documentation for the network interface should be consulted to detail the meaning and impacts of changing each setting. Edit the current ARC path to include the /3GB switch. Click Edit. and you can edit the current BOOT. 4.INI parameter (32-bit x86) By default.INI file that reallocates 3 GB of memory to be available for user-mode applications and reduces the amount of memory for the system kernel to 1 GB. complete the following steps: 1. 3. Under normal circumstances. The /3GB BOOT. Within the Startup and Recovery frame. Notepad opens. 2. Normally. To edit the BOOT. Select the Advanced tab. neither the /3GB switch nor the /PAE switch should be used on the 64-bit (x64) editions of the Windows Server 2003 operating system. Given the radically increased memory capability of 64-bit (x64) operating systems. This is a constraint of the 32-bit (x86) architecture. When the /3GB is added to the BOOT.Tuning Best Practices Guide Business Objects Financial Consolidation 20 Other advanced settings are often available with network interface cards than just those described here. Restart the server for the change to take effect. increase the parameter MaxServerVirtualMemory in the BFC Administration Console \Advanced Configuration to 2500 ©SAP AG 2009 . click Settings. 5. Windows provides a /3GB parameter to be added to the BOOT.INI file to make this change.INI file. 6.INI file. Open the System Control Panel. this creates a 2 GB per-process address limitation. 0x12C (0 . _ MaxUserPort sets the number of actual ports that are available for connections. Reducing TCPTimedWaitDelay and increasing MaxUserPort can increase throughput for your system.com/kb/823440 TCP TIME-WAIT Delay By default. reducing throughput.microsoft. This is known as the TIME-WAIT delay. Key: HKLM\SYSTEM\CurrentControlSet \Services\Tcpip\Parameters Value: TCPTimedWaitDelay Data type: REG_DWORD Range: 0x0 . which is appropriate for most situations.com/kb/291988 http://support.com/kb/851372 http://support. some busy systems that perform many connections in a short time might exhaust all ports available.Tuning Best Practices Guide Business Objects Financial Consolidation 21 For more information. TCP will normally allocate a port with a value between 1024 and 5000 for a socket request for any available short-lived (ephemeral) user port. However.300 seconds) Default: 0x78 (120 seconds) ©SAP AG 2009 . by setting the highest port value available for use by TCP. Windows has two registry settings that can be used to control this time-wait delay: _ TCPTimedWaitDelay adjusts the amount of time that TCP waits before completely releasing a socket connection for re-use.microsoft. When communications over a given socket have been closed by TCP. see: http://support. The default setting for Windows Server 2003 is two minutes.microsoft. it waits for a given time before releasing it. NTFS file system compression is not appropriate for an application server. see Microsoft Windows Server 2003 TCP/IP Implementation Details. needs to be added. In addition.FFFE (5000 . Think about options for adding additional disk. with the various NTFS recoverability tools available. needs to be added. NTFS offers many security. which is available from: http://www. FAT and FAT32 have often been implemented in the past as they were seen as more easily recoverable and manageable with native DOS tools in the event of a problem with a volume.Tuning Best Practices Guide Business Objects Financial Consolidation 22 Recommendation: 0x1E (30 seconds) Value exists by default: No. While it is an easy way to reduce space on volumes. Today. Under previous versions of Windows.com/technet/prodtechnol/windowsserver2003/technologies/networking/tcpip03. With disk storage relatively inexpensive today and operating systems and applications pushing drive capacity to a maximum it is unlikely that such small volumes will be warranted. including NTFS. and FAT32. there should no longer be a valid argument for not using NTFS for file systems. Implementing compression places an unnecessary overhead on the CPU for all disk operations and is best avoided. NTFS should always be the file system of choice for servers. scalability. NTFS offers considerable performance benefits over the FAT and FAT32 file systems and should be used exclusively on Windows servers. FAT and FAT32 were often implemented for smaller volumes (say <500 MB) because they were often faster in such situations. near-line storage. For more information. FAT32 scales better than FAT on larger volumes but is still not an appropriate file system for Windows servers.65534) Default: 0x1388 (5000) Recommendation: FFFE Value exists by default: No. stability and recoverability benefits over FAT. FAT. Monitor drive Space Utilization ©SAP AG 2009 . both natively built into the operating system and as thirdparty utilities. or archiving data before seriously considering file system compression.mspx Use NTFS on All Volumes Windows offers multiple file system types for formatting drives.microsoft. Key: HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Value: MaxUserPort Data type: REG_DWORD Range: 0x1388 . In addition. Defragmentation of the maximum number of files and directories will be achieved if carried out while applications and users that typically keep files open are not accessing the server. hindering disk I/O performance. ©SAP AG 2009 . and when found. It is not practical or realistic to have disks with excessive free space however. during scheduled system downtime. it takes longer to read. As noted above.each defragmentation process must be initiated manually or through external scripts or scheduling tools. A number of high-quality. Windows Server 2003 includes a basic disk defragmentation tool. and system performance suffers as the disk head jumps between tracks to seek and re-assemble them when they are required. Disk seek time is increased in locating the data as the head moves away from the edge. or not at all. This means that monitoring disk space utilization is important not just for capacity reasons but for performance also. Disk seek time is normally considerably longer than read or write activities. Use Disk Defragmentation Tools Regularly Over time. work towards a goal of keeping disk free space between 20% and 25% of total disk space. data is written closer to the center of the disk. as this is where the disk spins the fastest and yields the best performance. This is because on a well defragmented drive. As a rule of thumb. Regularly running a disk defragmentation tool on a server is a relatively easy way to yield impressive system performance improvements. reporting. the faster it will operate.Tuning Best Practices Guide Business Objects Financial Consolidation 23 The less data a disk has on it. try to run defragmentation tools when the server is least busy and if possible. data is initially written to the outside edge of a disk. and central management functionality. Disk defragmentation tools work to ensure all file fragments on a system are brought into contiguous areas on the disk. While offer good defragmentation features. As demand for disk storage increases and free space reduces. Most defragmentation tools work the fastest and achieve the best results when they have plenty of free disk space to work with. This provides another good reason to monitor and manage disk space usage on production servers. files become fragmented in non-contiguous clusters across disks. including tailorable scheduling. improving disk I/O performance. it offers little in the way of automated running . data is written as close to the outer edge of the disk as possible. third-party disk defragmentation tools exist for the Windows operating system. The cost and performance benefit of using such tools is normally quickly realized when compared to the ongoing operational costs and degraded performance of defragmenting disks manually. Monitoring more frequently will generate additional system overhead and create significantly larger log files than might be required. Monitor System Performance Appropriately Running the Windows System (Performance) Monitor directly on the server console of a server you are monitoring will impact the performance of the server and will potentially distort the results you are examining. Do not monitor unnecessary counters. When logging over an extended period. Log off the Server Console A simple but important step in maximizing your server‘s performance is to keep local users logged off the console. Note however that monitoring a system remotely will affect the network and network interface counters which might impact your measurements. Wherever possible. This tact should be taken regardless of whether carrying out ―live‖ charted monitoring of a system or logging system performance over longer periods. do not publish System Monitor as a Citrix application. reduce the monitoring interval to the minimum necessary to obtain the information you are looking to gather. Such screen-savers are known to be CPUintensive and use important system resources when they are running. Similarly. potentially impacting the performance of applications and services running on the system. This is the only tool giving an accurate technical ©SAP AG 2009 . Remove CPU-intensive Screen Savers A server is not the place to run fancy 3D or OpenGL screen savers. you should not use remote control software of the server console for performance monitoring nor should you use a remote client session using thin-client sessions such as Terminal Services or Citrix to carry out the task. It is best to avoid installing these altogether as an option at server-build time. collecting data every minute instead of the system default of every second might still provide acceptable levels of information. A locally logged-on user unnecessarily consumes system resources. use System Monitor from a remote system to avoid placing this extra load on the server itself.Tuning Best Practices Guide Business Objects Financial Consolidation 24 We recommend you defragment your drives weekly if possible. In the same way. or to remove them if they have been installed. BFC tracing It is possible to enable an SAP BusinessObjects Financial Consolidation technical log to trace SAP BusinessObjects Financial Consolidation events occurring on the Application Server. The basic ―Windows Server 2003‖ or blank screen savers are the best choice. the more overhead is required. Along the same lines. Bear in mind that the more counters monitored. For example. The XML log file allows the definition of: The level of information to collect The type of information to collect The output recording media The XML file is defined by a series of combined tags: One or more <logger> which allows you to configure the type of information you want to record. So any modification to an XML file will be effective only after the next CtServer.xml.Tuning Best Practices Guide Business Objects Financial Consolidation 25 info for the SAP BusinessObjects Financial Consolidation application.xml which will log only technical information for CtServer process linked to P38 data source. the contents log.exe instance run. The XML files log definition is named CtServerLogConfig. which allows you to configure the output media recording. add the data source name as a prefix of the xml file. If you want to dedicate an XML log for a named data source. The XML log definition file is read only when the CtServer process is started. Each type of appender can be configured in order to format the output format (the <layout> tag) ©SAP AG 2009 . The settings are described in an XML file and reflect the event type. One or more <appender>. you can create a P38CtServerLogConfig. command"> <level value ="debug" /> <appender-ref ref="myfile" /> </logger> We recommend verifying the presence of costly queries in technical logs. you can set up a logger which will filter any database error message and redirect them to a dedicated appender (a file for example).datasource_id = -524279) AND ((a1.command.database. you can exchange information by sending and receiving files.dml .header_dim_values.dml .duration 209. 03-26-09 14:44:19 [2272] WARN system. There are 4 types of information level: Info: Will log information about the processing being run.command set to debug.UPDATE ct_mutex SET ct_lock = ? WHERE ct_name = ? .exe keeps waiting a response of the database server.Costly query execution .Server lease with certificate [{626D6E89-CEEA-448E-91E4-9FC18BDE80C1}] and lease time [125000] renew failed 03-03-09 02:09:14 [5660] FATAL application .database. a1.766 s 03-03-09 02:09:14 [5660] ERROR application.database.1 row(s) affected .[Request 4104] . If the server cannot update his certificate it will stop: 03-03-09 02:08:44 [5660] WARN system.user_id FROM ct_md_lock a1 LEFT OUTER JOIN ct_active_session a2 ON (a1. '00000001'))) .header_dim_values IN (?.Costly query execution .header_dim_values LIKE ?) OR a1. but they can nevertheless compromise the integrity of the data Debug: Will log everything Debug level is not recommended as it will generate a high amount of information that may impact overall performance. <logger name="system.session_certificate) WHERE ((a1.[Request 42148] . If the ctserver.1 row(s) affected . Costly queries appear in the generated log files if the response time from the database is more that 15 s.command.0 row(s) affected .command. a1. Debug level may be requested by Business Objects support for troubleshooting investigation only. at some point it will freeze.[Request 42161] . a1.controller .exe with the logger system.DELETE FROM ct_active_session WHERE (ct_active_session.locking_mode. This errors allow the application to continue to run.duration 1881.dml .session_certificate.046 s 03-03-09 02:08:44 [4384] WARN system.81 s It is possible to generate all the queries run by ctserver.session_certificate = a2.duration 86.SELECT a1. So for example.database. ©SAP AG 2009 .Costly query execution .database.locking_date.Application is stopping because server lease expiration date update failed Optimizing BFC Transfer In an SAP BusinessObjects Financial Consolidation architecture where there are local data entry sites and step consolidation sites. a2.session_certificate = ?) . Warning: Will log warning messages concerning unexpected errors but that do not compromise the integrity of the data Error: Will log only error messages concerning unexpected errors.Tuning Best Practices Guide Business Objects Financial Consolidation 26 Once your logger and appender are correctly configured you may link any logger to any appender. . When receiving some important objects (like dimension builder elements. Files can be sent automatically via mail systems that support the MAPI or SMTP/POP3 protocols. The client computer stores a cookie. These locks are necessary to ensure the data integrity. HTTP server is linked to the SAP BusinessObjects Financial Consolidation application server via the web connector.0. you must add a HTTP server to the architecture. When you first install IIS 6. the longer it will take to access the tasks view.) there are locks on tables in the database. SAP BusinessObjects Financial Consolidation uses the SSL and VPN security protocols to encrypt the data. The HTTP server is independent from SAP BusinessObjects Financial Consolidation. category scenario. consisting of only a number in order to identify SAP BusinessObjects Financial Consolidation sessions. Web Server To access SAP BusinessObjects Financial Consolidation via the web. When you delete a ―receive task‖ by the BFC application the corresponding . These requests are then: • processed directly by the processing units as soon as one is freed up • sent to the queue until a processing unit is freed up It is recommended to regularly purge the task view in the BFC application. or during dedicated hours. an ASP. If the directories Incoming and Outbound are manually cleaned it is recommended to stop the application server before. it relies on Microsoft IIS technology. The web connector also formats the HTML pages received by the application server before sending them to the clients.tmp file is also deleted. The system setup automatically installs the . and only the World Wide Web Publishing Service ©SAP AG 2009 . it is locked down — which means that only request handling for static Web pages is enabled. The setting you enter is applied to all the servers.Tuning Best Practices Guide Business Objects Financial Consolidation 27 These files can be sent manually (via CDs or disk) or automatically.NET application. We recommend that you use a local network of 100 Mbps to communicate between the SAP BusinessObjects Financial Consolidation web server and the SAP BusinessObjects Financial Consolidation application server.0 is not installed on Windows Server 2003 by default. IIS 6. and this is slowing the platform. The web connector monitors user sessions and converts HTTP requests to DCOM remote procedure calls for the application server. see the Installation and Administration Guide. We recommend that you receive these objects when no user is connected to the application (data source started in exclusive mode). To find out more. While the application server can manage requests from web clients. The number of tasks that can be run simultaneously on a given server can be specified in the Administration console (4 by default).. it cannot manage the flow of data in HTTP format.NET framework. The greater the number of tasks is. 0 automatically installs the following two services: The WWW service.NET is part of Microsoft . Double-click Add or Remove Programs. 2.dll Inetinfo. ASP.exe IIS Admin Service Iisadmin. Settings in this file affect all of the . ASP. 7. From the Start menu.NET.dll Svchost.Tuning Best Practices Guide Business Objects Financial Consolidation 28 (WWW service) is installed. IIS returns a 404 error. Table 2. While ASP. COM+. IISADMIN .NET is largely syntax compatible with ASP. 4. IIS installation To install IIS. scalable.NET Framework.NET. ASP. Click Details to view the list of IIS optional components.0 Service Name Description Service Short Name Core Component Host World Wide Web Publishing Service (WWW service) Delivers Web publishing services. which manages the IIS metabase The table below lists the IIS services and their service hosts. a comprehensive and object-oriented collection of types that developers can use to create applications.. When you install IIS 6.NET Framework class library. In the Components list box. None of the features that sit on top of IIS are turned on. The .0 on a computer that does not contain an earlier version of IIS. click Application Server. Click Details. and the . thread management. If you do not enable these features. You can enable these features through the Web Services Extensions node in IIS Manager. .NET applications on the server. and stable applications. Click Add/Remove Windows Components.NET is a unified Web development platform that provides the services necessary for developers to build enterprise-class Web applications. a computing environment that simplifies application development in the highly distributed environment of the Internet. CGI scripting. 3. code security. or remove components using Control Panel 1. click Control Panel. 6.config file (located in the %SystemRoot%\Microsoft. which hosts Internet and intranet content The IIS Admin service. For a detailed description of IIS optional components.NET\Framework\%VersionNumber%\CONFIG\ folder). IIS 6. W3SVC Iisw3adm. Click Internet Information Services Manager. FrontPage® 2002 Server Extensions from Microsoft. Select all optional components you wish to install (IIS. including ASP.NET Framework configuration is maintained in Machine. ® Microsoft ASP. and WebDAV publishing. it also provides a new programming model and infrastructure for more secure. see "Optional Components" in this topic.exe ©SAP AG 2009 Manages the metabase. Application Server Console). 5. which provides core services such as memory management. 8.2 Basic Services Provided by IIS 6. add components.NET Framework includes the common language runtime. NET. such as management or monitoring tools. IIS 6. However.Tuning Best Practices Guide Business Objects Financial Consolidation 29 World Wide Web Publishing Service The World Wide Web Publishing Service (WWW service) provides Web publishing for IIS. applications built on IIS.NET applications and XML Web services. or running a Common Gateway Interface (CGI) handler. Web Distributed Authoring and Versioning (WebDAV) publishing.sys namespace routing table with one entry for each application.0 isolation mode. Remote Administration (HTML). a worker process is hosted by Inetinfo.sys listens for requests and queues those requests in the appropriate queue. and ASP. IIS Admin Service IIS Admin service is a Windows Server 2003 service that manages the IIS metabase. the WWW service processes the configuration changes. such as ASP.sys) and the worker processes. Internet Data Connector. Worker processes use HTTP. which you can read and edit using common text editors. IIS Admin service makes metabase data available to other applications. invoking an ISAPI extension or filter. Remote Desktop Web Connection.sys then uses the routing table data to determine which application pool responds to requests from what parts of the namespace. such as processing requests to return a static page.sys receives a request. Worker processes. in worker process isolation mode. it signals the WWW service to start a worker process for the application pool. A worker process is user-mode code whose role is to process requests. The WWW service includes these subcomponents: Active Server Pages (ASP).0 runs in worker process isolation mode. When you add or delete an application pool. The WWW service also listens for and processes ©SAP AG 2009 .0) IIS 6. This service reads metabase information and initializes the HTTP. An application pool corresponds to one request queue within HTTP.exe. connecting client HTTP requests to Web sites running on an IIS-based Web server.sys and one or more worker processes. These core components include the HTTP protocol stack (HTTP. Worker processes also run application code. It is responsible for two roles in IIS: HTTP administration and worker process management. The metabase stores IIS configuration data in a plaintext XML file. server-side includes (SSI).sys). HTTP. including the core components of IIS. HTTP. and in IIS 5. When IIS 6. When HTTP. The WWW service manages and configures the IIS core components that process HTTP requests. the worker process is controlled by the WWW service. which includes adding or deleting the application pool queue from HTTP. In both application isolation modes.exe.0 contains several core components that perform important functions in the new IIS architecture: HTTP Protocol Stack (HTTP. and applications that are independent of IIS.0 Core Components (IIS 6.sys.sys to receive requests and to send responses by using HTTP. a worker process runs as an executable file named W3wp. Each request queue corresponds to one application pool. WWW Service Administration and Monitoring. In this application isolation mode. XML data store that contains most IIS configuration information. Although most of the IIS configuration settings are stored in the IIS metabase.exe. and periodically writing changes to the on-disk metabase and metabase schema files. Inetinfo. storing them in RAM. applications built on IIS.0 isolation mode. The metabase consists of the following elements: o The MetaBase. Worker Process Isolation Mode Worker process isolation mode takes advantage of the redesigned architecture for IIS 6. the MetaBase. Low-isolation ISAPI extensions. Inetinfo.0 runs a server in one of two distinct request processing models.exe is a user-mode component that hosts the IIS metabase and that also hosts the non-Web services of IIS 6. Inetinfo.0 isolation mode. The WWW service is responsible for managing the worker processes. Any Web directory or virtual directory can be assigned to an application pool. any changes that you make to the in-memory metabase are periodically written to disk. called application isolation modes. a few settings are maintained in the Windows registry. IIS functions differently. ©SAP AG 2009 .xml file stores IIS configuration information that is specific to an installation of IIS. When IIS 6. and applications that are independent of IIS. and when to restart a worker process if it becomes blocked and is unable to process any more requests. The IIS Admin service makes the metabase available (by means of the Admin Base Object) to other applications. which runs ISAPI filters.xml file is a master configuration file that defines default attributes for all metabase properties and enforces rules for constructing and placing metabase entries within the metabase. which includes starting the worker processes and maintaining information about the running worker processes.0.exe depends on IIS Admin service to host the metabase. This service also determines when to start a worker process. The IIS metabase is a plaintext.0 runs in IIS 5. The in-memory metabase accepts changes to the metabase configuration and schema. and the NNTP service.xml files are read by the IIS storage layer and copied to the in-memory metabase.0. The in-memory metabase contains the most current metabase and metabase schema configuration.exe functions much as it did in IIS 5. when to recycle a worker process. the SMTP service. although both application isolation modes rely on HTTP. including the FTP service. In IIS 5.xml file which contains the metabase schema.Tuning Best Practices Guide Business Objects Financial Consolidation 30 configuration changes that occur as a result of application pool recycling.xml and MBSchema. and other Web applications. IIS 6. Inetinfo. IIS also saves the in-memory metabase to disk when you stop IIS. o In-memory metabase. through which you can apply specific configuration settings to groups of applications and to the worker processes servicing those applications.exe hosts the worker process. Inetinfo. When IIS 6. you can group Web applications into application pools.sys as the HTTP listener. When IIS starts.0 runs in worker process isolation mode. o The MBSchema. In each isolation mode. MBSchema. including the core components of IIS.0. however. IIS Metabase. such as management or monitoring tools. While IIS is running. Administrators can also create backup files on demand. IIS 5. they do not include your contents (. After you have your site and application up and running the way you want. and then type the same password in the Confirm password box. right-click the site or application you want to back up. . To save a site or application configuration 1.asp files. Choose OK. Backup files contain only configuration data. point to All Tasks. type a "strong password" in the Password box.Tuning Best Practices Guide Business Objects Financial Consolidation 31 By creating new application pools and assigning Websites and applications to them. In IIS Manager. 4. choose a previous backup version. and so on). and then choose Close. you can save all or part of the configurations for a backup copy. provide a password that will be used as the encryption key by doing the following: Select the Encrypt backup using password check box. type a name for the backup file. To restore a metabase configuration 1. To save a metabase configuration 1. From the Backups list box. In IIS Manager. even when the applications in the new application pool terminate. and your other applications always available. ©SAP AG 2009 .htm files. and choose Restore. or for import and export to other sites or computers. and then choose Backup/Restore Configuration. you can make your server more efficient and reliable. point to All Tasks. When a confirmation message appears. In the Configuration backup name box. Choose OK. and choose Save Configuration to a File. or create backup copies of individual site or application configurations and then export and import them to and from other sites or computers. IIS automatically makes a backup copy of the metabase (a repository for most Internet Information Services (IIS) configuration values is a plaintext XML file that can be edited manually or programmatically and is also extensible in a highly efficient manner) configuration and schema files each time the metabase changes. and then choose Backup/Restore Configuration.0 isolation mode is provided for applications that depend upon specific features and behaviors of IIS 5. 2. point to All Tasks. 4. choose Yes. It is not recommended to use this isolation mode for BFC application. 3. 5. right-click the local computer. 3.0 Isolation Mode IIS 5. and then choose Close. Choose Create Backup. To restore your backup files to a different computer.dll files. In IIS Manager. . We recommend you configure one application pool for each BusinessObjects Financial Consolidation application that you want to deploy.0. 2. right-click the local computer. config file: Set maxIoThreads (this setting controls the maximum number of I/O threads in the . 3. type or browse to the location where you want to save the file.exe and w3wp. Next. If you move your application to a new computer. HTTP. 4. This parameter limits the maximum SOAP message size for a Web service. with the exception of the SNMP counters. Improving Web Services Performance To perform large data transfers.exe are up and running. then queuing occurs.NET thread pool) and maxWorkerThreads (this setting controls the maximum number of worker threads in the thread pool) to 100. A low value of Available MBytes indicates that your system is low on physical memory. The next step is to identify which process is consuming processor time.config file is large enough. Pages/sec) and IIS counters If the value of % Processor Time is high. ©SAP AG 2009 . 32 Improving ASP. and make sure that your ASP. and in most scenarios the value of System\ Processor Queue Length is high.NET timeout is larger than your Web service timeout. Monitor CPU (processor Time.sys.Tuning Best Practices Guide Business Objects Financial Consolidation 2. Configure log monitoring (see administration guide). These counters also reflect the processing that occurs in the kernel-mode driver. caused either by system memory limitations or the application that is not releasing memory. appear in System Monitor and in Performance Logs and Alerts. The WWW service is a user-mode service. ensure that you recalculate and reconfigure the settings based on the number of CPUs in the new computer. type a file name. Set an appropriate timeout on the Web service proxy. We recommend the following values: 3600 for the timeout parameter and 16384 for the maxRequestLenght parameter. In the Path box. When you install IIS 6. start by checking that the maxRequestLength parameter in the <httpRuntime> element of machine. Choose OK. Monitoring Tools Monitoring the servers consists of the following tasks: Verify that the processes InetInfo. all of the IIS performance counters. check your timeout settings.0. Processor Queue Length) and memory utilization (Available Mbytes.NET Performance Consider the following settings in the Machine. The Web Service counters help you determine how well the World Wide Web Publishing Service (WWW service) processes requests. In the File name box. at which data bytes have been received by the WWW service. at which attempts to log on to the WWW service have occurred. This counter is new in IIS 6. Put Requests/sec The rate. Table Requests Counters Counter Description Total Options The number of HTTP requests that have used the OPTIONS method since the WWW service started. Total Delete The number of HTTP requests that have used the DELETE method since the WWW service started. at which HTTP requests that use the HEAD method have been made to the WWW service.x are now obsolete and. in seconds. Received.Tuning Best Practices Guide Business Objects Financial Consolidation 33 Configure these counters to monitor performance for individual Websites. Head Requests/sec The rate. in seconds. in seconds. and Transferred) Counters Counter Description Total Bytes Sent The number of data bytes that have been sent by the WWW service since the service started. at which HTTP requests that use the PUT method have been made to the WWW service. or for all sites on a server (by using the _Total instance).0.0. in seconds. Bytes Received/sec The rate. ©SAP AG 2009 . in seconds. Note that some counters that were included with IIS 5. at which connections to the WWW service have been attempted since the service started. therefore. Total Bytes The total number of bytes of data that have been sent and received by the WWW service since the service started. This counter is new in IIS 6. in seconds. Requests Options Requests/sec The rate. at which HTTP requests that use the GET method have been made to the WWW service. Post Requests/sec The rate. Maximum The maximum number of simultaneous connections made to the WWW service since the service started. at which data bytes have been sent by the WWW service. at which HTTP requests that use the OPTIONS method have been made. Attempts/sec Total Logon Attempts The number of attempts to log on to the WWW service that have occurred since the service started.0. Total Head Requests The number of HTTP requests that have used the HEAD method since the WWW service started. The table below describes the counters for the Web Service performance object. Bytes Sent/sec The rate. return a zero value. Total Post Requests The number of HTTP requests that have used the POST method since the WWW service started. Total Bytes Received The total bytes of data that have been received by the WWW service since the service started. in seconds. Connections and Attempts Counters Counter Description Current Connections The number of active connections to the WWW service. Bytes (Sent. in seconds. Logon Attempts/sec The rate. This Transferred counter is new in IIS 6. Get Requests/sec The rate. Attempts Connection The rate. Total Get Requests The number of HTTP requests that have used the GET method since the WWW service started. Bytes Total/sec The sum of Bytes Sent/sec and Bytes Received/sec. Connections Total Connection The number of connections to the WWW service that have been attempted since the service started. at which requests that use the POST method have been made to the WWW service. in seconds. Total Put Requests The number of HTTP requests that have used the PUT method since the WWW service started. at which HTTP requests that use the UNLOCK method have been made to the WWW service. in seconds. Locked Errors/sec The rate. Total Move Requests The number of HTTP requests that have used the MOVE method since the WWW service started.NET system performance counters. at which HTTP requests that use the DELETE method have been made to the WWW service. Table Application Restarts and Applications Running Counters Counter Description Application Restarts The number of times that an application has been restarted since the Web service started. Usually reported as HTTP error 404. Total Locked Errors The number of requests that have been made since the service started that could not be satisfied by the server because the requested document was locked. Total Method The number of HTTP requests that have been made since the WWW service started.NET applications on a Web server computer. in seconds. ASP. alternatively. Requests/sec Table Errors (Not Found and Locked) Counters Counter Description Total Not Found The number of requests that have been made since the service started that were not satisfied by the server because the Errors requested document was not found.NET system performance. Received. Not Found Errors/sec The rate. Requests Total Method The rate. in seconds. in seconds. or. at which HTTP requests that use the COPY method have been made to the WWW service. Application restarts are ©SAP AG 2009 .Tuning Best Practices Guide Business Objects Financial Consolidation 34 Bytes (Sent. Trace Requests/sec The rate.NET counters in the following table to monitor ASP. and Transferred) Counters Counter Description Requests Delete Requests/sec The rate. at which HTTP requests that use the TRACE method have been made to the WWW service. Total Trace Requests The number of HTTP requests that have used the TRACE method since the WWW service started. in seconds. in seconds.NET supports the following ASP. Total Search The number of HTTP requests that have used the SEARCH method since the WWW service started. at which requests were not satisfied because the requested document was locked. in seconds. Usually reported as HTTP error 423. Requests Unlock Requests/sec The rate. which aggregate information for all ASP. Requests Search Requests/sec The rate. Move Requests/sec The rate. Use the ASP. Total Copy Requests The number of HTTP requests that have used the COPY method since the WWW service started. in seconds. at which HTTP requests that use the MOVE method have been made to the WWW service. in seconds. Total Unlock The number of HTTP requests that have used the UNLOCK method since the WWW service started.NET servers running the same applications. apply generally to a system of ASP. at which requests were not satisfied by the server because the requested document was not found. at which all HTTP requests have been received. Total Lock Requests The number of HTTP requests that have used the LOCK method since the WWW service started. Lock Requests/sec The rate. in seconds. at which HTTP requests that use the SEARCH method have been made to the WWW service. at which HTTP requests that use the LOCK method have been made to the WWW service. Copy Requests/sec The rate. ©SAP AG 2009 . State Server Sessions Abandoned. Requests/sec Table Cache Total Counters Counter Description Cache Total Entries The total number of entries in the cache. which indicates that the server is too busy. An application restart can occur because changes were made to the Web. the user is inactive. Requests Rejected The total number of requests that were not executed because insufficient server resources existed to process them. investigate immediately. This counter represents the number of requests that return a 503 HTTP status code.config file. Table Requests Counters Counter Description Requests The number of requests that were disconnected because a communication failure occurred. The default maximum for this counter is 5. Table State Server Sessions Counters Counter Description State Server The number of user sessions that were explicitly abandoned. Sudden increases in this counter can mean that your Web application is shutting down. or because too many changes occurred in Web Forms pages.Tuning Best Practices Guide Business Objects Financial Consolidation 35 Table Application Restarts and Applications Running Counters Counter Description incremented with each Application_OnEnd event. This value resets every time IIS is restarted. If worker process restarts increase unexpectedly. Running Table Anonymous Requests Counters Counter Description Anonymous Requests The number of requests that use anonymous authentication.000 requests. You can change this setting in the computer's Machine. This counter includes both internal use of the cache by the ASP. Sessions Active State Server The number of user sessions that are now inactive. These are sessions that have been ended by specific user Sessions Abandoned actions. This counter includes both internal use of the cache by the ASP.config file or to assemblies stored in the application's \Bin directory. In this case. Disconnected Requests Queued The number of requests in the queue waiting to be serviced. and State Server Sessions Timed Out counters. not the server. Table Worker Process Counters Counter Description Worker Process The number of times that a worker process restarted on the server computer. be sure to investigate it promptly. This counter represents the cumulative value of State Sessions Total Server Sessions Active. A worker process can be restarted if it fails Restarts unexpectedly or when it is intentionally recycled. Request Wait Time The number of milliseconds that the most recent request waited in the queue for processing. Applications Running The number of applications that are running on the server computer. Worker Processes The number of worker processes that are running on the server computer.NET framework and external use of the cache through exposed APIs. the Web server has reached the limit of concurrent requests that it can process. If an unexpected increase occurs. such as closing the browser or navigating to another site. State Server The number of active user sessions. If this number increases as the number of client requests increases.NET framework and external use of the cache through exposed APIs. Cache Total Hits The total number of responses served from the cache. Sessions Timed Out State Server The number of sessions created during the lifetime of the process. Anonymous The average number of requests that have been made per second that use anonymous authentication. Requests that cause a 404 or 414 status code increment this counter and the Requests Not Found counter. Table Request Bytes Counters Counter Description Request Bytes In The total size.NET and external use of the cache through exposed APIs. This counter represents the sum of the Errors During Compilation. in bytes. or run-time errors. Includes any parser.NET internal error-handling logic. Includes parser. in bytes. of all requests.NET and external use of the cache through exposed APIs. This does not include standard HTTP response headers. . Requests In ©SAP AG 2009 The number of requests in the application request queue. • When the Page_Error event is defined in user code and either the error is cleared (by using the HttpServerUtility. and Errors During Execution counters. Note: Requests that cause a 401 status code increment this counter and the Requests Not Authorized counter. or both. Requests that cause a 500 status code increment this counter and the Requests Timed Out counter. Errors Unhandled The number of unhandled exceptions that occurred per second during the execution of HTTP requests. Execution Errors Unhandled The total number of unhandled errors that occurred during the execution of HTTP requests. Total Table Requests Counters Counter Description Requests Executing The number of requests that are currently executing.Tuning Best Practices Guide Business Objects Financial Consolidation 36 Table Application Restarts and Applications Running Counters Counter Description Cache Total Misses The number of failed cache requests. If the turnover rate is high. Cache Total Turnover The number of additions to and removals from the cache per second. A well-functioning Web server should not generate errors. Compilation Errors During The total number of errors that occurred during the execution of an HTTP request. All status codes greater than or equal to 400 increment this counter. an error page is defined. Exceptions occur in the following circumstances: • When custom errors are enabled. compilation. Errors Total/sec The average number of errors that occurred per second during the execution of HTTP requests. Requests Failed The total number of failed requests. During Execution An unhandled error is any uncaught run-time exception that escapes user code on the page and enters the ASP. Excludes compilation and run-time errors. or run-time errors. During Execution/sec Errors Total The total number of errors that occurred during the execution of HTTP requests. Cache Total Hit Ratio The ratio of cache hits to cache misses. Total Request Bytes Out The total size. the cache is not being used efficiently. Table Errors Counters Counter Description Errors During The number of errors that occurred during parsing. Preprocessing Errors During The number of errors that occurred during dynamic compilation.ClearError method) or a redirect is performed. Use this counter to help determine how efficiently the Rate cache is being used. compilation. Excludes parser and compilation errors. Excludes parser and run-time errors. This counter includes both internal use of the cache by ASP. This counter includes both internal use of the cache by ASP. Errors During Preprocessing. of responses sent to a client. where it is reused until its source file changes. Requests Timed Out The number of requests that timed out (status code 500). Sessions Timed Out The number of sessions that timed out. Sessions Abandoned The number of sessions that have been explicitly abandoned. Transactions The number of transactions that were committed. Table Transactions Counters Counter Description Transactions Aborted The number of transactions that were aborted.asmx. For troubleshooting. Table Miscellaneous Counters for ASP. Transactions Total The total number of transactions that have occurred since the service was started. This means that. . This counter represents the current throughput of the application. it is better for this number be low when the server is busy. the resulting binary compilation is saved on disk. Pipeline Instance The number of active request pipeline instances for the specified ASP. Note: This number initially climbs to a peak value as requests are made to all parts of an application. Sessions Total The total number of sessions. Table Sessions Counters Counter Description Sessions Active The number of sessions that are active. Debugging Requests The number of requests that occurred while debugging was enabled. or . After compilation occurs. you can consult the following information: Windows events log ©SAP AG 2009 . Requests/sec The average number of requests that have been executed per second.NET Applications Counter Description Compilations Total The total number of times that the Web server process dynamically compiled requests for files with . This counter increments after page execution if the transaction does not Committed abort. even when a process restarts. In most circumstances.ascx.Tuning Best Practices Guide Business Objects Financial Consolidation 37 Table Application Restarts and Applications Running Counters Counter Description Application Queue Requests Not Found The number of requests that failed because resources were not found (status code 404. 414). Because only one execution thread Count can run within a pipeline instance. the counter can remain at zero (be inactive) until the application is modified or redeployed. this number represents the maximum number of concurrent requests that are being processed for a specific application. Transactions Pending The number of transactions that are in progress. however.ashx extensions (or a code-behind source file). Authorized Requests Succeeded The number of requests that executed successfully (status code 200). Transactions/sec The average number of transactions that were started per second. Requests Not The number of requests that failed because of lack of authorization (status code 401). . because this means that the CPU is well used. Requests Total The total number of requests that have been made since the service started.aspx.NET application. Y URI Query cs-uri-query The query. Y Client IP Address c-ip The IP address of the client that made the request. warning events. You can use IIS Manager to select which fields to include in the log file.com/technet/prodtechnol/WindowsServer2003/Library/IIS/01cb5312-c8d0-48b5-955a47b61fccff04.com/technet/prodtechnol/WindowsServer2003/Library/IIS/01cb5312-c8d048b5-955a-47b61fccff04.mspx?mfr=true At the address http://www. Default. that the client was trying to perform.sys kernel-mode cache hits. and when the information was last viewed. at which the activity occurred. Y URI Stem cs-uri-stem The target of the action. such as logon and connection times. memory monitoring.Tuning Best Practices Guide Business Objects Financial Consolidation 38 Internet Information Services (IIS) 6. Table 10. or files and determine whether attempts were made to read or write to your files. or file. Microsoft IIS log files IIS log files can include information such as who has visited your site. Y Method cs-method The requested action. which allows you to keep log files as small as possible. You can find the list of events that are generated by the World Wide Web Publishing Service that handles internal administration of the W3SVC at http://www. if any. application problems. The logs in Event Viewer provide an audited record of all services and processes in the Microsoft® Windows® Server 2003 operating system. and informational events.mspx?mfr=true you can find the list of the events that the WWW service worker process generates. IIS log file formats allow you to record events independently for any site.0 generates events in Event Viewer so that you can verify the performance of IIS. The W3C Extended log file format is the default log file format for IIS. Y User Name cs-username The name of the authenticated user who accessed your server. virtual folders.1 lists and describes the available fields. in coordinated universal time (UTC). ©SAP AG 2009 . Event Viewer tracks the following: error events. for example.1 W3C Extended Log File Fields Field Appears As Description Default Y/N Date date The date on which the activity occurred. Table 10.sys handles the W3C Extended log file format. this format records HTTP. Because HTTP. Anonymous users are Y indicated by a hyphen. N s- The name of the server on which the log file entry was generated.microsoft. virtual folder. what was viewed. A Universal Resource Identifier Y (URI) query is necessary only for dynamic pages. We also recommend activating cookie and time taken options. N Instance Number Server Name computername Server IP Address s-ip The IP address of the server on which the log file entry was generated. such as authentication and authorization. and so on. for example.microsoft. Y Server Port s-port The server port number that is configured for the service. Service Name and s-sitename The Internet service name and instance number that was running on the client. You can monitor attempts to access your sites. Y Time time The time.htm. It is a customizable ASCII text-based format. a GET method. Default fields are noted. if any. SPX/IPX. Citrix/TSE Server General Information Citrix versions: .0. in milliseconds.Supports multi-clients (Microsoft. 1. FR1. Modem…. Y SAP BusinessObjects Financial Consolidation Web application log files ( see administration guide) OS Optimization See the Application Server part.Citrix Winframe 1. Netbeui.8 . N Protocol Substatus sc-substatus The substatus error code.0.ICA (Independent Computing Architecture) as native network communication protocol .0. N Referrer cs(Referrer) The site that the user last visited.FR3 . N Protocol Version cs-version The protocol version —HTTP or FTP —that the client used.8 .Desktop & published applications connection ©SAP AG 2009 . Y Cookie cs(Cookie) The content of the cookie sent or received.Metaframe Presentation Server 3. DOS….) .5 or (XenApp server) Citrix specific characteristics: .Tuning Best Practices Guide Business Objects Financial Consolidation 39 Table 10. Linux. This site provided a link to the current site. 1.0. N User Agent cs(User-Agent) The browser type that the client used.) . N Bytes Received cs-bytes The number of bytes that the server received. N Host cs-host The host header name. FR2. PDA. if any.Add-on to Windows Terminal services (except Citrix Winframe product) . N Bytes Sent sc-bytes The number of bytes that the server sent. N Time Taken time-taken The length of time that the action took.Citrix Presentation server 4.1 W3C Extended Log File Fields Field Appears As Description Default Y/N HTTP Status sc-status The HTTP status code.Citrix Metaframe XP 1.Citrix Metaframe 1. 4.Supports multi-protocols (TCP/IP.0 . Y Win32 Status sc-win32-status The Windows status code. Tuning Best Practices Guide Business Objects Financial Consolidation 40 .Server connection Thin clients: Web Interface /Nfuse . Desktop Versus Published Application Connection Desktop or published application connection depends of the type of client which has been implemented.Load-balancing functionalities based on server load (Advanced & Enterprise Edition only). keyboard.Farm connection . ICA flow only requires 10-20 Kbps.Only Published Application Citrix thick client View of citrix program neighborhood ©SAP AG 2009 . Citrix uses one protocol: ICA (Independent Computing Architecture) and one service: IMA (Independent Management Architecture) Bandwidth Required by ICA Protocol Only display. and mouse movements are sent and received from both sides.Citrix Web portal . Thick clients: Program neighborhood . Command line: change user /install Execute mode (default): .Default mode when the server is started .To be carefully administered . Application Installation Installation mode: .Mandatory when installing applications .Possible security issues .All initial registry entries created under HKCU\Software are duplicated under: HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal server\Install\Software .More compatibility… Citrix Published application / Virtualization connection .Not compatible with all applications.More secure .Memorized registry entries recorded during installation mode and the user‘s registry entries are merged ©SAP AG 2009 .INI files are memorized .Transparency .Tuning Best Practices Guide Business Objects Financial Consolidation 41 Citrix thin client View of citric web portal Desktop connection . Tuning Best Practices Guide Business Objects Financial Consolidation 42 . but large production environments with 4 processors or more are not uncommon. The BFC application metadata is accessed frequently and will be cached both on the database server as on the application server. BFC 7. Running a production BFC system can require significant processor power from the database server.2) Patch Set 2 BFC 7. A rule of thumb is one processor for each background consolidation processing job. or reporting (high). privileges. The load of database server may be important during consolidation treatments.000. we recommend at least 2 GB of RAM. . For a BFC database server.5 Microsoft SQL Server 2008 BFC 7. full table scans on this data are commonly executed for reporting. The table below shows the support matrix as of time of writing. the application server connects to the database server using OLE DB and the RDBMS client. as most of the data will be historical and only occasionally referenced. but more specifically on the number of concurrent server tasks for background consolidation processing and the clock rate and architecture of the processor: 32 or 64-bit. The number of concurrent server tasks can be limited technically and by procedures. Additionally. Oracle Release Cartesis Magnitude Release Oracle Database 10g Release 2 (10.Command line: change user /execute Database Server The database server contains all of the data in the SAP BusinessObjects Financial Consolidation. with multiple ―reserved‖ processors recommended for larger user communities. which can grow from 50 to about 300 connections on a busy production system.000 row consolidation table (around 100 MB). which has as a ©SAP AG 2009 .5 For a BFC database server. The memory requirements of the connections will depend on whether the primary activity is data entry (low). Consolidations can be executed concurrently. we recommend at least 2 processors. in which case multiple processors are recommended to maintain consistent response times.INI files are copied to the user‘s home windows. and scheduling. A consolidation can run anywhere between 1 minute to 1 hour.0 0racle Database 11g BFC 7. depending on the consolidation definition and input data. At least one processor should be kept reserved for the other application server tasks like data entry processing and reporting. hyper threading and/or dual-core.0 Microsoft SQL Server2005 SP2 BFC7. but typically will between 250 and 10000 MB. For BFC. The number of required processors will depend not only on the number of concurrent users. with an average of about 15 minutes for a 1. SAP publishes support information for the Oracle and SQL Server databases in the BFC documentation for each version. batch job processing. The size of the metadata depends on the configuration. The large BFC user data amount tables for data entry and consolidation are only partially stored in the cache.0. but large production environment might require more. Additional memory is required for every BFC database connection. It supports standard database engines: Microsoft SQL Server and Oracle Database Server. there is no point in making the database cache as large as possible and aiming to hold a 10 GB BFC database entirely in RAM. Extra attention is required when the BFC data is stored in SAN environments. This mechanism is a table in the BFC Oracle schema or Sql database called CT_DATASOURCE_INDEXES. Large customers have typically hundreds of data entry users. BFC application does not provide any tools to monitor database performances (the technical logs on the application server point out the queries that take more than 15 s) but it provides a mechanism to create custom indexes if it was proven that they will lead to better performance. Below. to hardware adapters. a database containing 60 GB of user data can easily generate a daily redo that is similar in volume. mainly sequential or random. Do not expect miracles from a storage cache. as almost every system architecture will have to allow for a different combination of hardware configurations and software workloads. Physical disks are hidden by many layers of abstraction in an SAN and you have to make sure that enough spindles are available to support the I/O throughput requirements. For this reason. ©SAP AG 2009 . controllers. Short-stroking the disk to only access the outer-edge can be considered. There are very few points in common between a small BFC customer. non-stop parallel consolidation processing and ad hoc reporting on a database hosting multiple BFC environments. Unfortunately it is a complex topic as it involves several layers from application workload (mainly read or write. If continuous heavy consolidation processing is taking place. RAID5 or RAID-5 alternatives as EMC RAID-S. but will not be technically possible in all environments. inter-arrival rates and concurrency) and operating system file system architecture. SAP does not benchmark all possible storage hardware and software configurations with all the vendors involved. Small customers typically perform data entry during the day. is more adapted for data warehouses with mainly read activity and is best to be avoided for write intensive applications like BFC. This is something that a storage cache will find difficult to handle. arrays and disks drives. As a starting value. The use of 15K rpm HDD is preferred above 10K. small or large requests. some periodic end-of-the-month consolidation batch job processing and subsequent reporting working on a dedicated database server with a few disks as direct attached storage (DAS). disks remain the most vulnerable part of a computer system. Few rules exist. RAID 1+0 (0+1) implements a mirrored striped array. Only use RAID-5 if benchmarks have shown you that on your production environment this does not give any performance problems. BFC can be a very write-intensive application with considerable amounts of random reads. use RAID 1+0. Configuring storage correctly is one of the most important steps towards a satisfying database performance. 10 disks per processor can be used. As they might fail one day.Tuning Best Practices Guide Business Objects Financial Consolidation 43 consequence that the table is cached relatively short. with hardware RAID largely preferable to offload the CPUs. Calculate the number of disks by I/O throughput requirements and not by the required capacity to store the database. A storage subsystem cache generally will improve performance for writes (immediately confirmed) and sequential reads (indexes) but not for random reads (full table scans). they need to be protected by some sort of RAID configuration. In all other cases. especially when the SAN is hosted by a third-party and storage is acquired by the amount of space needed. buses. Depending on the usage. Storing a 30 GB BFC database on a single 73 GB disk will make the system completely I/O-bound and will not give adequate response times. The optimal I/O configuration depends completely on the storage subsystem solution chosen. Being mechanical devices. and a large BFC factory. you will find the most important guidelines that will give you acceptable performance for the BFC database at an acceptable price. id] Rank INT 4 YES Number of indexes on the datasource Partition INT 4 YES NULL=All partitions NOT NULL=one specific partition Columns NVARCHAR 100 YES Columns to be indexed. as shown below: ID ©SAP AG 2009 NAME TITLE -524287 PKAMOUNT Package data -524286 PCAMOUNT Preconsolidation data -524285 COAMOUNT Consolidation data -524284 INVESTRATE Investment rates -524283 SCPSTKRATE Stockholding rates -524282 SCPRATE Scope rates -524281 CONRATE Conversion rates -524280 TAXRATE Tax rates -524279 OPBALAMOUNT Opening balance amounts -524278 CSCPRATE Top Conso Scope rates -524277 CCSRATE Full Conso Scope rates . It contains the values available in the ct_datasource table.Tuning Best Practices Guide Business Objects Financial Consolidation 44 The structure of this table is as follows: TYPE COLUMN LENGHT NULLABLE COMMENTARY Datasource INT 4 YES [=ct_datasource. coma-delimited Is_clustered BIT 1 YES TRUE= clustered index Is_unique BIT 1 YES TRUE= unique index Is_ascending BIT 1 YES TRUE= Ascending sort Is_custom BIT 1 YES TRUE= Customer-created index Table_scope INT 4 YES Column to be used later Base_name NVARCHAR 13 YES Name used to identify the index (optional) Table columns ‘Datasource’ column Stores the ID of the data source to which you want to assign the index. this value MUST be 7) ‘Base_name’ column Base name that the client wants to add to the index name in order to identify it. ‗Table_scope’ column Not developed yet: type of table that needs to be indexed according to the following scale of bitmap values: 1=Persistent tables 2= BFC work tables 4=Temporary DBMS tables 7=All types of table taken together (At the time of writing. In Oracle. ‗Partition‘ column Takes on the value of the partition’s first dimension. the index names must be unique in each database and must contain fewer than 18 characters. ©SAP AG 2009 .Tuning Best Practices Guide Business Objects Financial Consolidation 45 -524276 CSCPSTK Conso stockholding rates -524275 CSCP2RATE Second Top Conso Scope rates -524274 CCS2RATE Sec Full Conso Scope rates -524273 CSCP2STCK Second Conso Stock rates -524272 INTERCOAMNT Intercompany reconciliations -524271 CTGY-INDIC Category Builder Indicators ‘Rank’ column Number of indexes defined for a data source. separated by a comma ‘Is_clustered’ column Indicates whether the index is clustered (False: 0 – True: 1) ‘Is_unique’ column Indicates whether the index is unique (False: 0 – True: 1) ‘Is_ascending’ column Not developed yet: should indicate whether the data is to be sorted in ascending or descending order. which indicates an ascending sort) (False: 0 (descending sort) – True: 1 (ascending sort)) ‘Is_custom’ column Indicates whether the index has been created by SAP or by a client (False: 0 (by SAP) – True: 1 (by the client)). (At the time or writing. Example: Category · null = all partitions · not null = category_id ‗Columns column‘ List of dimension IDs (columns that you want to index). the default value must be set at 1. We strongly recommend that clients set this value to ‘1’ to facilitate any interventions required from SAP Support. This name cannot exceed 13 characters. You cannot have more than 17 indexes for the one table. For most of the Oracle parameters. This example is valid for a server that has 1GB of RAM. The character set recommended for a SAP BusinessObjects Financial Consolidation database is AL32UTF8 for BFC 7. you should ensure that there is sufficient memory available on the server to manage these connections. You should also take the RAM available on the server into account when setting the value of this parameter. The national character set recommended is UTF8 for BFC 7. The parameters we recommend be changed are listed below. Oracle Database When installing the Oracle database engine. All the other components are optional.0. the value of the db_cache_size parameter should be at least three times the size of the largest consolidated data table. Because there can be as many open connections as users connected BFC. where appropriate. it does not work for table names containing more than 13 characters for partitioned data sources and more than 17 characters for the others. the required components are the Oracle server on the DBMS server and the Oracle client with the Oracle provider for OleDB on the application servers. the partition number in base 36 and the rank. Oracle Corporation recommends that you upgrade your client software to match the current server software and use the latest patch releases. DB_BLOCK_SIZE = 16384 (*) SGA_TARGET= 600M (**) LOG_BUFFER = 1M SHARED_POOL_RESERVED_SIZE = 0 JAVA_POOL_SIZE = 0 LARGE_POOL_SIZE = 0 ©SAP AG 2009 . SAP BusinessObjects Financial Consolidation requires the database to be configured in dedicated server mode and does not support the shared server mode (formerly known as multi-threaded server mode). you can use the default values for BFC. An Oracle connection uses 500 KB to 1 MB of RAM on the server. Therefore. Initialization Parameters The appropriate values for the Oracle initialization parameters depend on the following: • The resources available on the server • Size of BFC consolidated data tables For optimum performance.5 and WE8MSWIN1252 for BFC 7.Tuning Best Practices Guide Business Objects Financial Consolidation 46 The automatic generation algorithm uses the table name and.0. You add base_name to indicate the base name of the index for the tables which exceed these limits.5 and AL16YTF16 for BFC 7. In order to optimize the execution. Work tables that do not contain a large volume of data will always be managed as standard tables.Tuning Best Practices Guide Business Objects Financial Consolidation 47 PROCESSES = 300 (**) WORKAREA_SIZE_POLICY= AUTO PGA_AGGREGATE_TARGET=200M (**) OPEN_CURSORS = 1000 SESSION_CACHED_CURSORS = 100 CURSOR_SHARING = EXACT OPTIMIZER_MODE=ALL_ROWS RECYCLEBIN=OFF (*) depending on the type of server e.8. Starting with Oracle 9. There is no need to restart the data source if the value of these key is modified. To find out more on the limitations of temporary tables. If the keys are missing or empty. you should increase the values of the SGA_TARGET and PGA_AGGREGATE_TARGET parameters. If you activate this option. verify that the temporary tablespace of your Oracle instance is big enough. Note: If temporary tables are activated. the original behavior is not changed. This option enables you to reduce the number of logs generated when the Oracle instance is in ARCHIVE_LOG mode. The main one is that you cannot create indexes for your temporary tables once data has been added to them. Unix. The temporary tables used by BusinessObjects Financial Consolidation are GLOBAL TEMPORARY type. the conversion step of the consolidation process is slow in some cases.g. the worktables containing a large amount of data (for example those generated during consolidation or when saving packages are managed in the database as global temporary tables. see the documentation on your DBMS.2. Windows. or when the SQL base is in "Full" archive mode. you can deploy on the applications servers the registry keys ConsolidationBeforePrepareData and ConsolidationAfterPrepareData to modify the database behavior during the conversion process. If more memory is available on the server. Options in the BFC Administration Console that Can Affect the Database Performance The parameter AdvancedDbString in the BFC administration console has an impact on the database performance. This parameter is made up of the following three options: • Use temporary table: when this option is activated. Windows Registry Editor Version 5. (**) depending on the server characteristics e. etc. etc. For optimum performance. when temporary tables are used. number of users. the database cache value should be at least three times the size of the largest BFC consolidated data table. or that the database tempdb has enough space.g.00 [HKEY_LOCAL_MACHINE\SOFTWARE\CARTESIS\Magnitude] "ConsolidationBeforePrepareData"="alter session set optimizer_mode=rule" "ConsolidationAfterPrepareData"="alter session set optimizer_mode=all_rows" ©SAP AG 2009 . RAM.0. some limitations might present themselves in your SQL rules. 02 MB ( execution time 18 min 40s) 6. you must activate the NOLOGGING option for the tablespace dedicated to worktables. Load Direct Path : 585. Temporary Tables +Load Direct Path : 537.2. page.03MB redo generated ( execution time 14 min 41s) 7. Temporary tables activated: 589. The results may be different on a UNIX platform so we recommend testing these parameters before activate them.77 MB redo generated ( execution time 11 min 42s) 2. Infrastructure availability: Is the database up and responding to requests Are the listeners up and responding to requests … Things that can cause service outages: Is the archive log destination filling up? Objects getting close to their max extents Tablespaces running low on free space/ Objects what would not be able to extend ©SAP AG 2009 . Advanced Data Access : 1586. or buying a third-party monitoring product. a permanent table called ct_filter_result is created instead of the usual worktables.65 MB redo generated ( execution time 12 min 02 s) 3.4 was on a Windows 2003 Server. All three options activated: 565. Here is an example of the impact these options have on the redo size generated and on the response time for a consolidation treatment that generates 1477405 lines (208. • Load direct path This option will activate the HINT APPEND clauses when the worktables are used and thereby reduce the size of the log.75 MB). This option enables you to change the filter query strategy. and so on) to take appropriate action.58 MB redo generated (execution time 13 min 26s) Monitoring Tools You should implement a monitoring system to constantly monitor the following aspects of a database. When it is activated.Tuning Best Practices Guide Business Objects Financial Consolidation 48 • Advanced data access : You should not activate this option with Oracle 9i.38 MB redo generated ( execution time 16 min 08 s) 4. The database version is 10. Load direct Path +Advanced Data Access: redo generated 665. Temporary Tables + Advanced Data Access: 580. If an alarm is triggered. the system should automatically notify the DBA (e-mail. 1. None of these options: 1.38 MB (execution time 13 min 06 s) 8.482. For this option to function correctly. This option enables you to reduce the size of the redo-log under Oracle and generally improve performance under SQL and Oracle.0. This can be achieved by writing custom scripts. implementing Oracle's Enterprise Manager.24 MB redo generated ( execution time 17 min 06s) 5. and so on. ORA-00060 errors (deadlocks). then locates the root causes of performance problems. log switches. In most cases. You can view the results of the analysis using Oracle Enterprise Manager or by viewing a report in a SQL*Plus session. An ADDM analysis is performed every time an AWR snapshot is taken and the results are saved in the database. AWR. using the tool provided by the specific operating system. I/O and memory utilization separately. ADDM provides the following benefits: Automatic performance diagnostic report every hour by default Problem diagnosis based on decades of tuning expertise Time-based quantification of problem impacts and recommendation benefits Identification of root cause. shutdown. ADDM can be used to analyze performance issues after the event. Alert. ORA-01578 errors (block corruption). and identifies non-problem areas of the system. ADDM For Oracle systems. Oracle will automatically create a new alert log file whenever the old one is deleted. Because AWR is a repository of historical performance data.LOG) is a chronological log of messages and errors written out by an Oracle Database. It is still recommended to monitor and tune operating system CPU.Tuning Pack (depends on the Oracle license) Starting with Oracle 10G.Tuning Best Practices Guide Business Objects Financial Consolidation User and process limits reached … 49 Oracle provides the following tools/ utilities to assist with performance monitoring and tuning: Alert. the statistical data needed for accurate diagnosis of a problem is saved in the Automatic Workload Repository (AWR). ADDM output should be the first place that a DBA looks when notified of a performance problem. provides recommendations for correcting any problems. The Automatic Database Diagnostic Monitor (ADDM) analyzes the AWR data on a regular basis.log The alert log file (also referred to as the ALERT. often saving time and resources reproducing a problem.log ADDM (Automated Database Diagnostics Monitor) introduced in Oracle 10g TKProf Statspack or AWR ( depends on the Oracle license) Oracle Enterprise Manager . Oracle Enterprise Manger. The directory where it is found can be determined by the background_dump_dest initialization parameter: select value from v$parameter where name = 'background_dump_dest'. Typical messages found in this file are: database startup. This file should constantly be monitored to detect unexpected messages and corruptions. space errors. ORA-00600 (internal) errors. and so on. operating system statistics are available with Statapck. not symptoms Recommendations for treating the root causes of problems ©SAP AG 2009 . you can run ADDM using the DBMS_ADDM package.Changing initialization parameter settings Schema changes .Are the Oracle memory structures. ADDM recommends possible solutions. are there any interconnect latency issues? Sub-optimal use of Oracle by the application .Running the SQL Tuning Advisor on high load SQL or running the Segment Advisor on hot objects The primary interface for diagnostic monitoring is Oracle Enterprise Manager.Using the cache option for sequences or using bind variables Using other advisors .Are there buffer busy problems? Hot objects and top SQL for various problem areas In addition to problem diagnostics. such as the SGA.Tuning Best Practices Guide Business Objects Financial Consolidation Identification of non-problem areas of the system Minimal overhead to the system during the diagnostic process 50 The types of problems that ADDM considers include the following: CPU bottlenecks . ADDM considers a variety of changes to a system while generating its recommendations. and buffer cache. ©SAP AG 2009 .Are there problems with poor connection management. If Oracle Enterprise Manager is unavailable.Are there any SQL statements which are consuming excessive system resources? High load PL/SQL execution and compilation.Is the I/O subsystem performing as expected? High load SQL statements .Is there evidence of incorrect sizing of log files. In order to run the DBMS_ADDM APIs. To diagnose database performance issues. Recommendations include: Hardware changes .Hash partitioning a table or index. or using automatic segment-space management (ASSM) Application changes . the user must be granted the ADVISOR privilege. When appropriate. excessive parsing. or application level lock contention? Database configuration issues . PGA.Adding CPUs or changing the I/O subsystem configuration Database configuration .Is the system CPU bound by Oracle or some other application? Undersized Memory Structures . or sub-optimal parameter settings? Concurrency issues . ADDM recommends multiple solutions for the DBA to choose from. There were no shutdown and startup actions between the two snapshots.What are the global cache hot blocks and objects. excessive checkpoints. adequately sized? I/O capacity issues . ADDM analysis can be performed across any two AWR snapshots as long as the following requirements are met: Both the snapshots did not encounter any errors during creation and both have not yet been purged. archiving issues. as well as high load Java usage RAC specific issues . progress. you can display ADDM information through the DBA_ADVISOR views.9 active sessions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FINDING 1: 100% impact (767 seconds) -----------------------------------The SGA was inadequately sized. error messages. 100% benefit (767 seconds) ACTION: Increase the size of the SGA by setting the parameter "sga_target" to 1890 M. DBA_ADVISOR_LOG: This view contains the current task information. SYMPTOMS THAT LED TO THE FINDING: SYMPTOM: Wait class "User I/O" was consuming significant database time. ADDM can also be run manually using the $ORACLE_HOME/rdbms/admin/addmrpt. However. Here is an example of ADDM analysis (run manually using the $ORACLE_HOME/rdbms/admin/ addmrpt. The SQL script and APIs can be run by any user who has been granted the ADVISOR privilege.sqlscript): DETAILED ADDM REPORT FOR TASK 'TASK_3559' WITH ID 3559 -----------------------------------------------------Analysis Period: 08-OCT-2009 from 23:03:25 to 23:17:12 Database ID/Instance: 3685384899/1 Database/Instance Names: SAP1/sap Host Name: SP-BASESBENCH Database Version: 10. ADDITIONAL INFORMATION: The value of parameter "sga_target" was "1512 M" during the analysis period. DBA_ADVISOR_FINDINGS: This view displays all the findings and symptoms that the diagnostic monitor encountered along with the specific recommendation. task name. as this relays the magnitude of the problem for the recommendation. such as the task Id. The recommendations should be looked at in the order of the RANK column. Typically. causing additional I/O or hard parses. (17% impact [130 seconds]) FINDING 2: 21% impact (158 seconds) ----------------------------------SQL statements consuming significant database time were found. and execution times. RECOMMENDATION 1: DB Configuration. DBA_ADVISOR_RECOMMENDATIONS: This view displays the results of completed diagnostic tasks with recommendations for the problems identified in each run. The BENEFIT column gives the benefit to the system you can expect after the recommendation is carried out. (23% impact [176 seconds]) SYMPTOM: Hard parsing of SQL statements was consuming significant database time. and when created. you would view output and information from the automatic database diagnostic monitor through Oracle Enterprise Manager or ADDM reports. ©SAP AG 2009 .Tuning Best Practices Guide Business Objects Financial Consolidation 51 While the simplest way to run an ADDM analysis over a specific time period is with the Oracle Enterprise Manager GUI.4.2.0. This group of views includes: DBA_ADVISOR_TASKS: This view provides basic information about existing tasks. such as status.sql script and DBMS_ADVISOR package APIs.0 Snapshot Range: from 2119 to 2120 Database Time: 767 seconds Average Database Load: . SYMPTOMS THAT LED TO THE FINDING: SYMPTOM: Hard parsing of SQL statements was consuming significant database time. (17% impact [130 seconds]) FINDING 5: 8. RECOMMENDATION 1: Application Analysis. RELEVANT OBJECT: SQL statement with SQL_ID 9vtm7gy4fr2ny and PLAN_HASH 2367994939 select con# from con$ where owner#=:1 and name=:2 RATIONALE: SQL statement with SQL_ID "9vtm7gy4fr2ny" was executed 655 times and had an average elapsed time of 0. you may set the parameter "cursor_sharing" to "force". RELEVANT OBJECT: SQL statement with SQL_ID bwt0pmxhv7qk7 and PLAN_HASH 2625956280 delete from con$ where owner#=:1 and name=:2 RATIONALE: SQL statement with SQL_ID "bwt0pmxhv7qk7" was executed 367 times and had an average elapsed time of 0.4% benefit (65 seconds) ACTION: Investigate application logic for possible use of bind variables instead of literals. 8. This resulted in additional hard parses which were consuming significant database time.15 seconds. RELEVANT OBJECT: database object with id 212747 SYMPTOMS THAT LED TO THE FINDING: SYMPTOM: Wait class "User I/O" was consuming significant database time. SYMPTOMS THAT LED TO THE FINDING: SYMPTOM: Hard parsing of SQL statements was consuming significant database time. This resulted in additional hard parses which were consuming significant database time. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ADDITIONAL INFORMATION ---------------------Wait class "Application" was not consuming significant database time. FINDING 3: 11% impact (82 seconds) ---------------------------------Individual database segments responsible for significant user I/O wait were found. RECOMMENDATION 1: Segment Tuning. Please refer to other findings in this task about parsing for further details.8% impact (60 seconds) ----------------------------------Time spent on the CPU by the instance was responsible for a substantial part of database time. 11% benefit (82 seconds) ACTION: Investigate application logic involving I/O on database object with id 212747.8% benefit (60 seconds) ACTION: Parsing SQL statements were consuming significant CPU.Tuning Best Practices Guide Business Objects Financial Consolidation RECOMMENDATION 1: SQL Tuning. RATIONALE: At least 5 SQL statements with PLAN_HASH_VALUE 389409320 were found to be using literals. 13% benefit (97 seconds) ACTION: Run SQL Tuning Advisor on the SQL statement with SQL_ID "9vtm7gy4fr2ny".5% benefit (65 seconds) ACTION: Investigate appropriateness of DDL operations. RECOMMENDATION 2: SQL Tuning.16 seconds. ADDITIONAL INFORMATION: The instance spent significant time on CPU. 8. Look in V$SQL for examples of such SQL statements. 7.4% impact (65 seconds) ----------------------------------SQL statements were not shared due to the usage of literals. there were no predominant SQL statements responsible for the CPU load.5% impact (65 seconds) ----------------------------------Cursors were getting invalidated due to DDL operations. 7. ©SAP AG 2009 52 . (23% impact [176 seconds]) FINDING 4: 8. (17% impact [130 seconds]) FINDING 6: 7. However. ACTION: Alternatively.6% benefit (58 seconds) ACTION: Run SQL Tuning Advisor on the SQL statement with SQL_ID "bwt0pmxhv7qk7". RECOMMENDATION 1: Application Analysis. RECOMMENDATION 1: Application Analysis. These include: ALTER SESSION SET SQL_TRACE = FALSE. Tracing can be defined at the session level: ALTER SESSION SET SQL_TRACE = TRUE. 4927 . TRUE). 10046. 0. The command to enable timed statistics is: ALTER SYSTEM SET TIMED_STATISTICS = TRUE.SET_EV(287. The resulting trace output is more meaningful with these statistics.‘‘). Session connect and disconnect calls were not consuming significant database time. A DBA may enable tracing for another user‘s session by: exec DBMS_SYSTEM. Once the directory name is obtained.SESSION_TRACE_ENABLE(262 . Wait class "Configuration" was not consuming significant database time. the environment must first be configured by performing the following steps: · Enable Timed Statistics – This parameter enables the collection of certain vital statistics such as CPU execution time. ‗‘). Make sure that enough space exists on the device to support the number of trace files that you expect to generate.43672. The same options that we use to enable tracing are used to disable it.Tuning Best Practices Guide Business Objects Financial Consolidation 53 Wait class "Commit" was not consuming significant database time. An explanation of the terminology used in this report is available when you run the report with the 'ALL' level of detail. The next step in the process is to enable tracing. Show parameter user_dump_dest or select value from v$parameter where name = 'user_dump_dest'. TRUE. 12. By default. or ©SAP AG 2009 .ora.SET_EV(287. The user dump destination can also be specified for a single session using the alter session command. and wait events. TKProf It essentially formats a trace file into a more readable format for performance analysis. The analysis of I/O performance is based on the default assumption that the average read time for one database block is 10000 micro-seconds. indexing. To disable tracing for another user‘s session use: exec DBMS_SYSTEM. or exec dbms_monitor. 10046. tracing is disabled due to the burden (5-10%) it places on the database. The database's maintenance windows were active during 100% of the analysis period. Before tracing can be enabled. Wait class "Concurrency" was not consuming significant database time. · Check the User Dump Destination Directory – The trace files generated by Oracle can be numerous and large. wait events. where the 262 = sid (Session ID) and 4927=serial# can be obtained from the v$session view.43672. the corresponding space command (OS dependent) will report the amount of available space. Delete unwanted trace files before starting a new trace to free up the disk space. To show the value of the parameter timed statistics: show parameter timed_statistics or select value from v$parameter where name = timed_statistics. These files are placed by Oracle in user_dump_dest directory as specified in the init. The DBA can then identify and resolve performance issues such as poor SQL. Wait class "Network" was not consuming significant database time. and elapsed times. Tuning Best Practices Guide Business Objects Financial Consolidation exec dbms_monitor.trc output.80 129831 47304 64105 Misses in library cache during parse: 4 Misses in library cache during execute: 1 Elapsed times include waiting on following events: Event waited on ---------------------------------------db file scattered read log file switch completion log buffer space direct path write log file sync SQL*Net message to client SQL*Net message from client db file sequential read control file sequential read direct path write temp direct path read temp Times Waited 2231 15 20 3 4 12 12 19 5 363 37091 OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS call count cpu elapsed disk ©SAP AG 2009 rows ---------0 1085775 0 ---------1085775 Max.34440) 2009-01-07 02:43:48. Trace file: sand1d_ora_728.00 0. All rights reserved. body.---------. ******************************************************************************** count = number of times OCI procedure was executed cpu = cpu time in seconds executing elapsed = elapsed time in seconds executing disk query = number of physical reads of buffers from disk = number of buffers gotten for consistent read current = number of buffers gotten in current mode (usually for update) rows = number of rows processed by the fetch or execute call *** SESSION ID:(305. 2004.0 .---------total 9 38.37 34.SESSION_TRACE_DISABLE(262 .---------. definitions.-------.10 12.08 0.02 0.1. The summary section contains an aggregate of performance statistics for all SQL statements in the file.Production on Mi Sep 30 14:11:14 2009 Copyright (c) 1982.-----------1.00 0.10 0.01 0 13 0 Execute 5 38.57 0.01 0.-----.trc Sort options: default The body contains the performance metrics for SQL statements.413 TKPROF: Release 10.---------Parse 4 0.90 116.04 0.2.00 0. 54 4927).78 129831 47291 64105 Fetch 0 0.00 0.---------.-------.---------.---------. and summary section. ******************************************************************************** OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS call count cpu elapsed disk query current ------.87 116.61 0. The header simply displays the trace file name.68 0. and sort options selected.02 0.03 0.00 0 0 0 ------.25 query current rows . The tkprof command can be executed from the operating system prompt: tkprof sand1d_ora_728.00 0.00 0. Oracle.00 0. Wait Total Waited ---------.---------.0.txt sys=no Each tkprof output file contains a header.10 0.00 0.01 0.00 0.-----. 08 ---------0 175 152 ---------327 Total Waited -----------0. 7 user SQL statements in trace file.01 0.trc Trace file compatibility: 10. Wait ---------0. Fetch – The number of rows returned for a SELECT statement. execute.16 7 user SQL statements in session.42 5 10746 0 0.---------total 991 0.---------. or fetch calls.00 0 0 0 0. · Elapsed – Total elapsed time in seconds for all parse.---------. and all object dependencies.---------.42 5 10746 0 Misses in library cache during parse: 1 Misses in library cache during execute: 1 ©SAP AG 2009 rows ---------0 0 0 ---------0 .---------.00 Sort options: default 2 sessions in tracefile. · Disk – The number of physical disk reads from the datafiles for all parse. · CPU – The total CPU time in seconds for all parse. 2. 1.---------0. This step includes syntax checks.-----Parse 1 Execute 1 Fetch 0 ------.39 0.---------. · Query – The number of buffers retrieved for all parse.09 572 1482 569 Misses in library cache during parse: 2 Misses in library cache during execute: 2 Elapsed times include waiting on following events: Event waited on ---------------------------------------db file scattered read SQL*Net message to client SQL*Net message from client db file sequential read Times Waited 34 6 6 38 Max.00 0. 374 SQL statements in trace file. The output file displays a table of performance metrics after each unique SQL statement.-------.---------. or DELETE statements).---------. permissions. ******************************************************************************** Trace file: sand1d_ora_728.00 0.01 0 0 0 Execute 373 0.---------. · Current – The number of buffers retrieved in current mode (INSERT.25 0.29 1. Execute – The actual execution of the statement.03 0.---------. or fetched.39 0.00 0. 367 internal SQL statements in session. DELETE FROM TL253IS2EZBLQ WHERE ACCNT IN (SELECT REFVALUE_ID FROM CT_HIERARCHY_CONTENT WHERE HIERARCHY_ID = :B1 AND ID IN (SELECT PARENT_ID FROM CT_HIERARCHY_CONTENT WHERE HIERARCHY_ID = :B1 )) call count ------.00 0.---------.---------.-----total 2 cpu elapsed disk query current -------.31 572 755 0 ------.01. or fetch calls.---------0.00 0. 104 elapsed seconds in trace file. execute. executed. 367 internal SQL statements in trace file. 374 SQL statements in session. execute.12 0.-------.-----. Each row in the table corresponds to each of the three steps required in SQL processing.---------. 3. 62 unique SQL statements in trace file.00 0. The table columns include the following: · Count – The number of times a statement was parsed.00 0 0 0 -------. or fetch calls. 62427 lines in trace file.00 0. UPDATE. Parse – The translation of the SQL into an execution plan. or fetch calls.76 0 727 569 Fetch 325 0.Tuning Best Practices Guide Business Objects Financial Consolidation 55 ------.-----.---------Parse 293 0. execute. If nothing is specified.00 0. rather than searching the entire file contents for the poor performers. · insert – Creates a file that will load the statistics into a table in the database for further processing. Use this option when the list needs to be limited to the ―Top n‖ statements. · aggregate – When ―Yes‖. and so on. ©SAP AG 2009 . The user must specify the schema and table name for the plan table.creates an SQL script with the specified filename that contains all non-recursive SQL statements from the trace file. Choose this option if you want to perform any advanced analysis of the tkprof output. In addition. The default is to enable.01 ******************************************************************************** Tkprof provides many useful command line options that provide additional functionality for the DBA. If the table exists all rows will be deleted otherwise tkprof will create the table and use it. tkprof will combine the statistics from multiple user executions of the same SQL statement. · sort – Sorts the SQL statements in the trace file by the criteria deemed most important by the DBA. running Explain Plan against SQL statements that were captured and saved is always problematic given dependencies and changes in the database environment. · prsela – The elapsed time spent parsing the SQL.Tuning Best Practices Guide Business Objects Financial Consolidation 56 Optimizer mode: ALL_ROWS Parsing user id: 59 (recursive depth: 1) Rows ------0 0 60 60 61 61 61 61 641679 Row Source Operation --------------------------------------------------DELETE TL253IS2EZBLQ (cr=10577 pr=2 pw=0 time=370804 us) HASH JOIN RIGHT SEMI (cr=10577 pr=2 pw=0 time=370798 us) VIEW VW_NSO_1 (cr=8 pr=2 pw=0 time=11867 us) HASH JOIN (cr=8 pr=2 pw=0 time=11806 us) TABLE ACCESS BY INDEX ROWID CT_HIERARCHY_CONTENT (cr=4 pr=2 pw=0 time=11433 us) INDEX RANGE SCAN CT_HIERA_CNTN2_IDX (cr=3 pr=2 pw=0 time=11366 us)(object id 1157369) TABLE ACCESS BY INDEX ROWID CT_HIERARCHY_CONTENT (cr=4 pr=0 pw=0 time=196 us) INDEX RANGE SCAN CT_HIERA_CNTN2_IDX (cr=3 pr=0 pw=0 time=131 us)(object id 1157369) TABLE ACCESS FULL TL253IS2EZBLQ (cr=10569 pr=0 pw=0 time=48 us) Elapsed times include waiting on following events: Event waited on Times Max. Explain Plan is less useful when used in conjunction with tkprof than it is when used alone. all statements will be listed. tkprof shows you the actual execution path and statistics after the statement is executed. or parses. · table – Used in the Explain Plan command (if specified) for Oracle to load data temporarily into an Oracle table. This is useful when combined with a sorting option to enable the top n statements by CPU. · prscpu – The CPU time spent parsing. · explain – Executes an Explain Plan for each statement in the trace file and displays the output. the statistics will be listed each time the statement is executed. This option allows the DBA to view the SQL statements that consume the most resources at the top of the file. or disk reads. Wait Total Waited ---------------------------------------Waited ---------. Explain Plan provides the predicted optimizer execution path without actually executing the statement. · record . When ―No‖. · sys – Enables or disables the inclusion of SQL statements executed by the SYS user.-----------db file sequential read 2 0. The following are the data elements available for sorting: · prscnt – The number of times the SQL was parsed. · print – Lists only the first n SQL statements in the output file. including recursive SQL statements. Prior to installing STATSPACK. STATSPACK must be installed in every database to be monitored. STATSPACK originally replaced the UTLBSTAT/UTLESTAT scripts available with earlier versions of Oracle. · exemis – The number of library cache misses during execution.Tuning Best Practices Guide Business Objects Financial Consolidation · prsdsk – The number of physical reads required for the parse. you should create a tablespace to hold the STATSPACK data.1. you will be prompted for the name of the tablespace to hold the STATSPACK database objects.The number of current block reads required for the parse. Remember to set timed_statistics to true for your instance. · execnt – The number of times the SQL statement was executed. · exeqry – The number of consistent block reads during execution. In this chapter. · prscu . The spcreate. · fchcpu – The CPU time spent fetching rows. You should also designate a temporary tablespace that will be large enough to support the large inserts and deletes STATSPACK may perform. To properly collect database statistics. is found in the /rdbms/admin subdirectory under the Oracle software home directory. · execu – The number of current block reads during execution. During the installation process.sql script creates a user named PERFSTAT and creates a number of objects under that schema. · exeela – The elapsed time spent executing the SQL. · exedsk – The number of physical reads during execution. The installation script. · prsmis – The number of consistent block reads required for the parse. Setting this parameter provides timing data which is invaluable for performance tuning. you will see how to install STATSPACK. · execpu – The CPU time spent executing the SQL. · fchrow – The number of rows fetched for the query 57 Statspack The STATSPACK utility has been available since Oracle 8. · fchcnt – The number of fetches performed. · fchdsk – The number of physical disk reads during the fetch. · fchqry – The number of consistent block reads during the fetch. ©SAP AG 2009 .6 to monitor the performance of your database. named spcreate. the initialization parameter STATISTICS_LEVEL should be set to TYPICAL (the default) or ALL.sql. and how to run and interpret the reports generated by the STATSPACK. · fchela – The elapsed time spent fetching rows. · exerow – The number of rows processed during execution. · fchcu – The number of current block reads during the fetch. Level 10 This level includes capturing Child Latch statistics. system events.sql" can be used to run STATSPACK every hour on the hour. Level 6 This level includes capturing SQL plan and SQL plan usage information for high resource usage SQL Statements. SQL> exec statspack. Level 7 This level captures segment level statistics. lock statistics. i_modify_parameter => 'true').sql in $ORACLE_HOME/rdbms/admin. Since every system is different. along with all data captured by lower levels. along with all data captured by lower levels. this is only a general list of things you should regularly check in your STATSPACK output: Top 5 wait events (timed events) Load profile Instance efficiency hit ratios Wait events Latch waits Top SQL Instance activity File I/O and segment statistics Memory allocation Buffer waits Statspack Report Header STATSPACK report for Database DB Id ©SAP AG 2009 Instance Inst Num Startup Time Release RAC . while the threshold parameter acts as a filter for the collection of SQL statements into the stats$sql_summary table. To generate a statspack report run the script spauto. including logical and physical reads. The i_modify_parameter => 'true' changes the level permanent for all snapshots in the future. level and threshold. row lock. Level 5 This level includes capturing high resource usage SQL Statements. The level parameter controls the type of data collected from Oracle.Tuning Best Practices Guide Business Objects Financial Consolidation 58 The SQL script "spauto. along with all data captured by lower levels.sql for more information (note that JOB_QUEUE_PROCESSES must be set > 0). You can change the default level of a snapshot with the statspack. itl and buffer busy waits. STATSPACK has two types of collection options. session events. SELECT * FROM stats$level_description ORDER BY snap_level. background events. row cache. including rollback segment. See the script in $ORACLE_HOME/rdbms/admin/spauto. along with all data captured by lower levels. SGA. system statistics. and Latch information.snap function. wait statistics. Level 0 This level captures general statistics.snap(i_snap_level => 6. 882K Note that this section may appear slightly different depending on your version of Oracle.44 177. This gives an overall view of the load on the server.458.417.5 End Snap: 17 09-Feb-09 17:00:00 95 3.17 697.----------. we move onto the Instance Efficiency Percentages section. For example.744 Snapshot Snap Id Snap Time Sessions Curs/Sess Comment ~~~~~~~~ ---------. Statspack Load Profile Load Profile ~~~~~~~~~~~~ Per Second --------------2.98 (mins) Cache Sizes Begin End ~~~~~~~~~~~ ---------.44 0.96 7. is new with Oracle9i (an 8i Statspack report would not show this data).69 613.Tuning Best Practices Guide Business Objects Financial Consolidation 59 ~~~~~~~~ ----------.69 16.88 1. but if we are looking at a "health check".84 1.04 73.622.--2184676364 MA 1 07-Feb-09 02:23 10.388. Here. the item we are most interested in is the elapsed time. We want that to be large enough to be meaningful.018. the Curs/Sess column.4.80 125. three items are important: The Hard parses (normally we want very few of them but the BFC application does not use bind variables) Executes (how many statements we are executing per second / transaction) Transactions (how many transactions per second we process).------------------Begin Snap: 16 09-Feb-09 16:45:01 86 3.220.28 34.-----------------.27 5. but small enough to be relevant (15 to 30 minutes is OK).87 Recursive Call %: Rows per Sort: 77.--------.88 0.00 15.-------.67 340.20 680. which shows the number of open cursors per session.-------. we are interested in a variety of things.527.37 42.03 14.---------Buffer Cache: 16.000M Std Block Size: 16K Shared Pool Size: 1.87 Redo size: Logical reads: Block changes: Physical reads: Physical writes: User calls: Parses: Hard parses: Sorts: Logons: Executes: Transactions: % Blocks changed per Read: Rollback per transaction %: 5.71 Here.008M Log Buffer: 13.-----------.0.--------------.32 0.26 Per Transaction --------------47.04 61.0 Elapsed: 14. Statspack Instance Efficiency Percentage Next.2.44 3.082.87 36.30 151.0 NO Host ~~~~ Name: wweasora0002_s Num CPUs: 16 Phys Memory (MB): 31. which includes perhaps the only ratios we look at in any detail: Instance Efficiency Percentages ©SAP AG 2009 . -----CPU time 5.900 133 2 1.----------.00 Interpreting the ratios in this section can be slightly more complex than it may seem at first glance. You can use the Statspack report to help identify the query in question and fix it.6 db file parallel write 49. that the application does not use the bind variables ( which is the case for BFC application). but rather the sum of the CPU used by this session. waits for this event were grouped with the other reasons for waiting for buffers under the 'buffer busy wait' event Log file parallel write .00 100. Db file scattered read .90 77.Tuning Best Practices Guide Business Objects Financial Consolidation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Buffer Nowait %: 99. All of these have to do with how well the shared pool is being utilized. indicating high efficiency.2 log file parallel write 61. Top 5 Timed Events Avg %Total ~~~~~~~~~~~~~~~~~~ wait Call Event Waits Time (s) (ms) Time ----------------------------------------. such values can be misleading. or the amount of CPU time used during the snapshot window.5 ------------------------------------------------------------- This section is among the most important and relevant sections in the Statspack report.77 Parse CPU to Parse Elapsd %: 32.13 99.43 Library Hit %: 92.078 585 6 7.786 122 2 1. In Oracle9i Release 2.649 5 20. ©SAP AG 2009 .00 94. Here. The three in bold are the most important: Library Hit. we are quite pleased with the Library Hit and the Soft Parse % values. Soft Parse % and Execute to Parse. that could point to some CPU-intensive processing (for example. if the CPU time event is the biggest event.80 Execute to Parse %: 9. we get to the Top 5 Timed Events section (in Oracle9i Release 2 and later) or Top 5 Wait Events (in Oracle9i Release 1 and earlier).23 82. it could be indicative of a shared pool that is too small.64 66. Statspack Top 5 Timed Events Moving on.274 64.1. in this report.This event occurs when a session requests a buffer that is currently being read into the buffer cache by another session. which could be the cause of the bottleneck. In a heavily loaded system. CPU time is not really a wait event (hence.78 60 Redo NoWait %: In-memory Sort %: Soft Parse %: Latch Hit %: % Non-Parse CPU: 100.That generally happens during a full scan of a table. or just as likely.-----------. this section is renamed and includes a new event: CPU time. Prior to release 10. Low values are not always bad.16 59.911 1. Here is where you find out what events (typically wait events) are consuming the most time.3 db file scattered read 100.20 End -----92.Writing redo records to the redo log files from the log buffer.-----.9 read by other session 337. the new name). Read by other session . If the library Hit ratio was low. While high values for the ratios are generally good. forcing the use of an index when a full scan should have been used).57 Shared Pool Statistics Memory Usage %: % SQL with executions>1: % Memory for SQL w/exec>1: Begin -----93.46 99.74 Buffer Hit %: 96. 9 . 2266.09 42.088.13 65.0 connection management call elapsed 0. 2234.------.-------52. Statistic name Statistic Time (s) % of DB time ----------------------------------.This event occurs in the DBWR.9 55.2 PL/SQL execution elapsed time 2. 3475. 226 5. 1 ©SAP AG 2009 .0 ------------------------------------------------------------- Time Model System Stats DB/Inst: MA/MA Snaps: 16-17 -> Ordered by % of DB time desc.Tuning Best Practices Guide Business Objects Financial Consolidation 61 Db file parallel write .0 DB time 10.102/b14237/waitevents003.3 hard parse elapsed time 118. 2048. a1.5 DB CPU 5.0 1.---------.332.0 31.------number of processors (or 0. 2339.com/docs/cd/B19306_01/server. 2281.18 2. 2049. 2024.flow. a1.htm#sthref3159 CPU and Memory Statistics Starting with Oracle 10 statspack collects operating system statistics Host CPU ~~~~~~~~ (CPUs: 16) Load Average Begin End Should be less than the ------. SQL ordered by CPU DB/Inst: MA/MA Snaps: 16-17 -> Resources reported for PL/SQL code includes the resources used by all SQL statements called by the code.3 .------.-----.0 378.---------. 2023.8 background elapsed time 351.7 % Host Mem used for SGA+PGA: 54.4 52.0 SGA use (MB): 17.1 failed parse elapsed time 24. 2324. 1953.87 4.744. 1906.230 3680353070 Module: ctserver.81 57.---------233.0 parse time elapsed 133. 2810.79 Instance CPU ~~~~~~~~~~~~ % of total CPU for Instance: % of busy CPU for Instance: %DB time waiting for CPU .4 .4 .0 hard parse (sharing criteria) elaps 1.exe SELECT a1.03 cores) in your machine User System Idle WIO WCPU ------.73 5.0 PGA use (MB): 348.02 0. 2078.Resource Mgr: 38. 2041. You can find a description of all waits event at: http://download.0 17.------.94 Memory Statistics ~~~~~~~~~~~~~~~~~ Begin End -----------.515. 2025.-----------.493.088.oracle.8 ------------------------------------------------------------- SQL ordered by Gets Here you will find the most CPU-Time consuming SQL statements. 2437.453 -> Captured SQL accounts for 79. a1.5 background cpu time 36.0 repeated bind elapsed time 1. -> Total DB CPU (s): 5. 2046.accnt IN (1929.7 1.3 98.35 4.6% of Total DB CPU -> SQL reported below exceeded 1.-------------------.744. 2342.--------------.nature.accnt. 1973. When the last I/O has gone to disk. SUM(a1.65 25 9.-----------sql execute elapsed time 10. 1918. 2028. 2008.consamoun t) FROM ct_co7676 a1 WHERE (a1.-----------Host Mem (MB): 31.period. It indicates that the DBWR is performing a parallel write to files and blocks. the wait ends.5 .453.3 479.0% of Total DB CPU CPU CPU per Elapsd Old Time (s) Executions Exec (s) %Total Time (s) Buffer Gets Hash Value ---------. The SQL report.period. 28.48 3. 6. 2023. 3.ct_0000_sa = 0) AND (a1. 2078. 30. 12. 4.exe SELECT a1.ct_0000_coj = 0) AND (a1. 1918. 2810. 102. 1918.-----Buffer Gets: 3.4.flow IN (24. 1929. 1907.875. 2521. 2041. 2 437. SUM(a1. 1929. 2046. 4.period IN (28147712. 103. a1. 13. 2521.nature IN (1. 2. 2049.-------. 1953.accnt.accnt IN (1906.47 Disk Reads: 57.accnt IN (1906. 2842. 2025.32 20 9.87 Rows processed: 4. 2 437. 2049. 8.consamoun t) FROM ct_co7676 a1 WHERE (a1. information on any SQL plan(s) associated with that statement. a1. you often find high-load SQL statements that you want to examine more closely. 114. 2810. 2041. 2023. 2521.3 2. 41. 3475) AND a1.accnt IN (1906. 1973. 2029. 36. a1.exe SELECT a1. 2324. 31. 131. 204 8. 2265. 2266. 45. a1. 127. 39. 2025. 2048. SUM(a1. 1973.nature IN (1. 1929.72 3. 100. 47.3 Sorts: 0 . 2025.nature. 2.ct_0000_vehicles = 0) AND (a1.nature IN (1. 50. 2024. a1. 15. 26. 2520. a1. 22.-------------106 11-Feb-09 10:45:00 108 11-Feb-09 11:15:01 30. 18. 21.------------------.--. 19.nature. 29.id FROM ct_entity a2) AND (a1.partner = 0) AND (a1. 3475) AND a1. 27. 97.147 181.0. 134) AND a1.ctshare = 0) AND (a1. 104. 2324. 2. 2270. 2339. 14.----------.0 Elapsed Time(s/ms): 479 23. When you examine the instance report. 2008. 214. 2041.33 20 10. 99.----------. 2521) AND a1.-----------. 98. 2008.ct_0000_dest = 0) AND ( a1. 113.accnt. 11. 17. 49.------------------.accnt.2.period. 196. 2270. 2234. 96. 2842. 92. 3475) AND a1.195 209.period.ct_0000_lv = 0) AND (a1. 4. and (if a level six snapshot has been taken).ct_0000_ota = 0) AND (a1.245 2. 2265. 63.20 3. 23. a1. 2270.737.nature.accnt. the complete SQL text.82 3. 2281. 38.flow. 130. 25.0 Parse Calls: 20 1. 35.nature IN (1. 128. 3. 24. Example of sprepsql output: STATSPACK SQL report for Old Hash Value: 3424744297 Module: ctserver.720 3360925328 Module: ctserver. 10.consamoun t) FROM ct_co7676 a1 WHERE (a1.--------. 5.flow.flow ©SAP AG 2009 . 16. 2. 1973. 48.9 484. 197. 46. 132.nature.ct_0000_ep = 0) AND (a1. 28409856. 2281. 2049.862. 1907. 2342. 2078. 2270. 44. 2046. 2339. 1918. 2234. a1. 105. 37. 4. ?rdbms/admin/SPREPSQL.---------------MA 2184676364 MA 1 10. 2520. 43. 52. 3. 129.564. 107.SQL.8 CPU Time(s/ms): 211 10. 101. 2023. 2437.ct_0000_ohr = 0) AND (a1.ct_0000_pl = 0)) GROUP BY a1.625. 2281. 40. a1. 2520. 2029.0 NO wweasora0002_s Start Id Start Time End Id End Time Duration(mins) --------. 2046. 9. 2265. 2342. 2028. 2342. 2842. 2266.ct_0000_tcr = 0) AND (a1.4 2. 2029.period. 2078. 2028. 28622848) AND a1.6 441.ct_0000_pg = 0) AND (a1. 2520.257. 2266.consamount) FROM ct_co7676 a1 WHERE (a1. displays statistics. 2810.0 Invalidations: 0 Version count: 1 Sharable Mem(K): 63 Executions: 20 SQL Text ~~~~~~~~ SELECT a1. a1. 2029. 2842. 112.Tuning Best Practices Guide Business Objects Financial Consolidation 62 907. 3. 112) AND a1.ct_0000_zone = 0) AND (a1. 204 8.ct_0000_st = 0) AND (a1. 2024. 115. 51.entity IN (SELECT a2. SUM(a1. 2324.02 SQL Statistics ~~~~~~~~~~~~~~ -> CPU and Elapsed Time are in seconds (s) for Statement Total and in milliseconds (ms) for Per Execute % Snap Statement Total Per Execute Total --------------. a1.945. a1.779 3129365819 Module: ctserver. 2008. 1953. 2024. 1953.flow.exe DB Name DB Id Instance Inst Num Release RAC Host -----------. 32. 2339.--------------. 1907. 2028. 2234. A Plan Hash Value will appear multiple times if the cost has changed -> ordered by Snap Id First First Last Plan Snap Id Snap Time Active Time Hash Value Cost --------.692 4.2 CT_AUT_DATA 675 1 4.0 14.8 1.0 UNDOTBS1 3 0 16.-----------.0 TEMP 1.0 CT_DATA_IDX 27 0 7.795 15 10.-------.0 3.0 27 0 0 0. PHV is Plan Hash Value -> ordered by Plan Hash Value -------------------------------------------------------------------------------| Operation | PHV/Object Name | Rows | Bytes| Cost | -------------------------------------------------------------------------------|SELECT STATEMENT |----.0 139 0 3. and so may not be indicative of current values -> Rows indicates Cardinality.0 347 0 2 0.---------. and the Snap Id's they were first found in the shared pool.5 1.363 118 5. Bytes and Cost shown below are those which existed at the time the first-ever snapshot captured this plan .0 3 0 0 0.122 1 5.2 TOOLS 13 0 8.6 1.4 16.176 4 0 0.2 CT_AUT_DATA_IDX 1.0 CT_AUT_SYSTEM_IDX 3 0 16.0 13.---------107 11-Feb-09 11:00 11-Feb-09 11:23 876260613 49503 Plans in shared pool between Begin and End Snap Ids ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Shows the Execution Plans found in the shared pool between the begin and end snapshots specified.0 CT_AUT_SYSTEM ©SAP AG 2009 63 .026 16 1 0.-----------.0 512 1 0 0.1 1.--------------.0 96 0 3 0.8 4.876260613 -----| | | 49503 | |HASH GROUP BY | | 1 | 87 | 49503 | | NESTED LOOPS | | 1 | 87 | 49502 | | TABLE ACCESS FULL |CT_CO7676 | 1 | 74 | 49502 | | INDEX UNIQUE SCAN |TPM08AG3K13IT_IDX | 1 | 13 | 0 | -------------------------------------------------------------------------------End of Report Tablespace and datafile IO Stats Tablespace IO Stats DB/Inst: MA/MA Snaps: 16-17 ->ordered by IOs (Reads + Writes) desc Tablespace -----------------------------Av Av Av Av Buffer Av Buf Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms) -------------.3 1.0 CT_SYSTEM_IDX 5 0 2.184 0.0 CT_TEMP_IDX 15.363 18 336.4 1.5 68.598 17 0.these values often change over time.2 41.217 76 0 0.0 1.7 1.0 5.0 121 0 0 0.8 1.7 15.286 0.643 2 14.0 SYSAUX 3 0 3.-----.7 1.------.968 30 1.-----CT_DATA 106. The values for Rows.577 6 150 0.0 SYSTEM 219 0 2.9 1.--------------.0 CT_SYSTEM 98 0 6.Tuning Best Practices Guide Business Objects Financial Consolidation Known Optimizer Plan(s) for this Old Hash Value ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Shows all known Optimizer Plans for this database instance.9 CT_TEMP 26.0 6 0 0 0.------. dbf 16.4 ### 40.1 64 1.3 1.9 1.dbf 5.2 CT_AUT_DATA_IDX 1.728 4.7 1.829 5.176 4 0 0 /databasem/datafile/MA/CT_AUT_SYSTEM01.7 1.-----CT_AUT_DATA /databasem/datafile/MA/CT_AUT_DATA01.-----------.dbf 4.4 1.7 32 1.885 12 CT_DATA_IDX /databasem/datafile/MA/CT_AUT_SYSTEM_IDX01.0 3.637 12 10.9 64 41.0 3 0 0 /databasem/datafile/MA/CT_DATA01. File Tablespace Filename -----------------------.0 3 0 /databasem/datafile/MA/CT_DATA_IDX06.3 ### 42.487 12 10.0 1.0 3 0 0 ------------------------------------------------------------- 0.dbf 16.Tuning Best Practices Guide Business Objects Financial Consolidation 3 0 0.7 1.----.dbf 0.645 2 /databasem/datafile/MA/CT_DATA06.7 1.2 33.4 32.0 3 0 /databasem/datafile/MA/CT_DATA_IDX09.442 12 10.dbf 5.951 12 10.5 16 41.287 4.9 ### 41.0 USERS 3 0 0.2 1.1 /databasem/datafile/MA/CT_DATA_IDX01.2 33.136 4.455 2 /databasem/datafile/MA/CT_DATA05.011 6.634 5.dbf 4.2 1.dbf 4.741 2 /databasem/datafile/MA/CT_DATA03.8 64 40.dbf 0.---------.dbf 665 1 4.3 33.0 347 0 2 0.809 12 10.0 File IO Stats DB/Inst: MA/MA Snaps: 16-17 ->Mx Rd Bkt: Max bucket time for single block read ->ordered by Tablespace.------.dbf 16.0 3 0 /databasem/datafile/MA/CT_DATA_IDX05.0 96 0 3 0.590 2 /databasem/datafile/MA/CT_DATA07.0 1.0 1.--.0 1.9 1.dbf 5.8 16 42.0 1.0 3 0 /databasem/datafile/MA/CT_DATA_IDX02.dbf 16.0 1.dbf 4.dbf 2.745 5 140 0.111 5.113 4.7 1.610 12 10.937 2 /databasem/datafile/MA/CT_DATA08.4 32.dbf 10 0 8.0 CT_DATA_IDX CT_SYSTEM CT_SYSTEM_IDX 5 ©SAP AG 2009 0 0 0 0 0 0 0 0 0 .0 3 0 /databasem/datafile/MA/CT_DATA_IDX04.-------.531 2 35.9 64 1.0 /databasem/datafile/MA/CT_AUT_DATA02.dbf 6.638 12 10.1 34.dbf 6.684 2 /databasem/datafile/MA/CT_DATA10.---------------------------------------------------Av Mx Av Av Rd Rd Av Av Buffer BufWt Reads Reads/s (ms) Bkt Blks/Rd Writes Writes/s Waits (ms) -------------.------.275 11 10.dbf 5.5 16 42.3 ### 40.0 64 3 0 0 0.533 2 /databasem/datafile/MA/CT_DATA09.0 3 0 /databasem/datafile/MA/CT_DATA_IDX10.dbf 0.122 1 /databasem/datafile/MA/CT_AUT_DATA_IDX01.dbf 0.0 832 1 10 0.0 1.4 32 41.629 12 10.dbf 4.0 3 0 /databasem/datafile/MA/CT_DATA_IDX07.0 3 0 0 CT_AUT_SYSTEM 3 CT_AUT_SYSTEM_IDX 3 0 CT_DATA 10.0 1.949 5.4 33.dbf 5.685 2 /databasem/datafile/MA/CT_DATA04.0 0 /databasem/datafile/MA/CT_SYSTEM_IDX01.0 3 0 3 0 3 0 3 0 3 0 3 0 3 0 3 0 3 0 3 0 98 0 /databasem/datafile/MA/CT_SYSTEM01.4 1.0 8 1.7 33.0 16 1.dbf 16.894 4.0 3 0 /databasem/datafile/MA/CT_DATA_IDX03.562 2 /databasem/datafile/MA/CT_DATA02.dbf 3.0 1.0 4.7 1.5 34.dbf 0.4 1. 286 1.0 4.0 2.7 1.368 5 3 0 /databasem/datafile/MA/sysaux01.8 4.dbf 0.dbf 8.Tuning Best Practices Guide Business Objects Financial Consolidation CT_TEMP 65 /databasem/datafile/MA/CT_TEMP01.333 19 6. It may be that the datafiles need to be distributed across more disk sets.dbf 0.3 32 1.dbf 0.545 20 /databasem/datafile/MA/CT_TEMP02.3 1.528 3 /databasem/datafile/MA/CT_TEMP_IDX04.887 17 /databasem/datafile/MA/CT_TEMP04.200 4 /databasem/datafile/MA/CT_TEMP_IDX02.638 7 8. - The contents of that datafile should be redistributed across several disks/logical volumes to more easily accommodate the load.5 64 1.2 16 12.795 15 10.0 6 0 0 219 0 /databasem/datafile/MA/system01.8 ### 15. - If the disk layout seems optimal.dbf 1.660 5 6.dbf 0.4 ### 1.5 16 1.dbf 0.7 64 15. Waits desc Enqueue Type (Request Reason) -----------------------------------------------------------------------------Requests Succ Gets Failed Gets Waits Wt Time (s) Av Wt Time(ms) ©SAP AG 2009 .0 512 0 0 0 0 0 0 0 1 1 0 0 0 /databasem/datafile/MA/undotbs01.0 1.0 3 0 0.dbf 2.843 10 4.dbf 1.0 0.0 13.6 ### 1.930 4 /databasem/datafile/MA/CT_TEMP_IDX03.827 8 CT_TEMP_IDX 3.2 0 ------------------------------------------------------------- Note that Oracle considers average read times of greater than 20 ms unacceptable. Enqueue Activity Enqueue activity DB/Inst: MA/MA Snaps: 16-17 -> only enqueues with waits are shown -> Enqueue stats gathered prior to 10g should not be compared with 10g data -> ordered by Wait Time desc.643 2 13 0 3 0 3 0 SYSAUX SYSTEM TEMP TOOLS UNDOTBS1 USERS /databasem/datafile/MA/temp01. another option is to compress the indexes so that they require less space and hence.184 /databasem/datafile/MA/TOOLS01.5 16 22.452 3 4.dbf 14.452 21 /databasem/datafile/MA/CT_TEMP03.dbf 3.3 17. check the disk controller layout.2 17.dbf 1.dbf 16. If a datafile consistently has average read times of 20 ms or greater then: - The queries against the contents of the owning tablespace should be examined and tuned so that less data is retrieved.0 139 0 3. less IO.449 4 4.5 18.709 5 2.1 14. - If the tablespace contains indexes.0 121 /databasem/datafile/MA/users01.2 0.988 6 /databasem/datafile/MA/CT_TEMP_IDX01.0 3.dbf 2.4 ### 1.0 3. MMON wakes up every hour and does statistics collection into the repository snapshots.Space management enqueue: Usually caused by too much space management occurring.49 TX-Transaction (allocate ITL entry) 34 34 0 28 1 26. lots of sorting. the MMON process. small extent sizes. Usually. By default. foreground process will wait for RO enqueue.-------------RO-Multiple Object Reuse (fast object reuse) 61. This deletes snapshots that fall between the begin and end snapshot IDs you specify. AWR relies on a background process.00 ------------------------------------------------------------- An enqueue is a locking mechanism.68 CF-Controlfile Transaction 10.Transaction Lock: Generally due to application concurrency mechanisms.-----------.794 89 13. AWR snapshots provide a persistent view of database statistics. They are created in the SYS schema and stored in the SYSAUX table space.Tuning Best Practices Guide Business Objects Financial Consolidation 66 -----------.-----------. or table setup issues. and so on.39 TX-Transaction (index contention) 91 91 0 3 0 5.991 10.393 0 1 0 1. To purge unnecessary data from the PERFSTAT schema use the SPPURGE. For example: create table as select on large tables on busy instances. RO can be seen with CI (Cross Instance invalidation) enqueues.371 61.00 TX-Transaction 63. The action to take depends on the lock type that is causing the most problems.392 5.----------.10 CI-Cross-Instance Call Invocation 6. AWR The AWR Report leverages the Automatic Workload Repository statistics and can be executed within Enterprise Manager Grid Control if desired and will probably replace STATSPACK for good in the future.----------.36 FB-Format Block 5.sql located under $ORACLE_HOME/rdbms/admin. While DBWR is performing this operation. Drop /truncate will post the DBWR to flush the buffers associated with those objects.371 0 6. RO-Multiple Object Reuse (fast object reuse) is acquired while dropping/truncating the objects.807 0 1 0 .807 63. To uninstall statspack - connect to database as SYSDBA and run spdrop. You must license the Oracle Diagnostics Pack to access the AWR dictionary views necessary for the AWR Report (STATSPACK is still a free utility). If the TX enqueues concern ITL slots you can change the initrans parameters of the tables and indexes by using wddlhook table (you‘ll find more information about wddlhook table in Administration Guide). ST .SQL script located under $ORACLE_HOME/rdbms/admin. In-memory ©SAP AG 2009 .342 0 156 16 105.67 TX-Transaction (row lock contention) 14 14 0 14 0 .342 6. The most common lock waits are generally for: TX .991 0 23 0 3. This interval is configurable by the DBA. If you specify zero. Creating Snapshots The DBMS_WORKLOAD_REPOSITORY. You can view the current settings from the DBA_HIST_WR_CONTROL dictionary view. To properly collect database statistics. time model statistics. This determines the snapshot capture and purging policy.440 minutes (1 day) to 52. if you specify NULL. They are not written to the database and are aged out of memory as new statistics are gathered. A number of different statistics are collected by the AWR. AWR collects database statistics every 60 minutes.000 minutes (100 years). you will find much of what is in STATSPACK in the AWR Report. The INTERVAL parameter specifies the new snapshot interval in minutes. object usage statistics. the retention will not be changed. including wait events. so running both is a bit superfluous. Dropping Snapshots You can drop snapshots by using the DBMS_WORKLOAD_REPOSITORY. and this data is maintained for a week and then purged. various system. the maximum value of 1 year will be used. The specified value must be between 10 minutes and 5. Changing Snapshot Settings You can change the interval of the snapshot generation and how long the snapshots are retained using the DBMS_WORKLOAD_REPOSITORY. Since the AWR schema was originally based on the STATSPACK schema. if you specify NULL.and session-level statistics. The Oracle database uses AWR for problem detection and analysis as well as for self-tuning. active session history statistics. the interval will not be changed.DROP_SNAPHOT_RANGE procedure. The MMON process is responsible for purging the WR data. the initialization parameter STATISTICS_LEVEL should be set to TYPICAL (the default) or ALL.560. the maximum value of 100 years will be used. The statistics collected by AWR are stored in the database.MODIFY_SNAPSHOT_SETTINGS procedure. The RETENTION parameter specifies the new retention period in minutes.Tuning Best Practices Guide Business Objects Financial Consolidation 67 statistics are gathered once a second on active sessions. If you specify zero. and information on the most resource-intensive SQL statements.256.000 (1 year).CREATE_SNAPSHOT procedure creates a snapshot at a time other than the one generated automatically. The specified value must be in the range of 1. The AWR data is stored separately from the STATSPACK data. The AWR Report accesses the AWR to report statistical performance information similar to how STATSPACK always did. ©SAP AG 2009 . sql.sql script is similar to awrrpt.sql scripts located in the $ORACLE_HOME/rdbms/admin directory. the only difference is you can specify the database ID and instance ID as parameters. The awrrpt. The output of an awr report is similar to a statspack report. from its Administration tab. General Settings SQL Server Database – SAP BusinessObjects Financial Consolidation. The report can be saved as text file or HTML file. you can use the default settings. SQL Server database When you install Microsoft SQL Server 2005. ©SAP AG 2009 . The awrrpti. select the following option: Full if you want to activate the log. and User Managment CMC Repository databases Database options In the Recovery model group box.sql and awrrpti. Simple if you do not want to activate the log.sql script displays statistics for a range of snapshot IDs. You can view AWR reports using the awrrpt.Tuning Best Practices Guide Business Objects Financial Consolidation 68 Viewing AWR Reports You can access the AWR using the Enterprise Manager (EM) Database Control. Only one login is required to connect to the base with SQL Server 2005. Select the Advanced tab. SQL Server Advanced Properties – SAP BusinessObjects Financial Consolidation ©SAP AG 2009 . 1. We recommend that you test these settings to make sure that they actually improve performance. You should select a case-insensitive (CI) and accent-sensitive (AS) sort order (Example: Latin1_General_CI_AS). the database log will be completely filled. Be careful this parameter cannot improve the performance in all of the cases. Modifying the Degree of Parallelism The following settings can improve performance. In the Settings groupbox. If you do not do so. 3. Set the Max degree of Parallelism setting to 1 processor. you should deactivate the NUMA mode in the server BIOS. we recommend that you select the following options: Auto create statistics Auto update statistics The others are optional. Edit the properties of the SQL Server 2005 engine. you must regularly back up your database logs. NUMA mode If the SQL Server 2005 engine is installed on a server with NUMA architecture. especially when SAP BusinessObjects Financial Consolidation is used with a large number of concurrent users (more than 50 concurrent users). The database collation should be one that uses the 125X code page.Tuning Best Practices Guide Business Objects Financial Consolidation 69 If you activate the log. This login can be different from the sa login. You should not select the Auto shrink and Auto close options on a server so as to not decrease its performance. for example. This login must be the dbo of the base. 2. You cannot log in using a login with the same rights as the dbo. the Latin1_General collation with the 1252 code page. The Parallelism setting only governs the number of processors on which any particular Transact-SQL statement can run at the same time. Activating the READ_COMMITTED_SNAPSHOT Option The following setting improves performance. especially when SAP BusinessObjects Financial Consolidation is used with a large number of concurrent users. Select the SAP BusinessObjects Financial Consolidation databases. This option is mandatory. Log on to the SQL Server 2005 server.Tuning Best Practices Guide Business Objects Financial Consolidation 70 Server options The Parallelism setting does not affect the number of processors that SQL Server uses in a multiple-processor environment. If the Parallelism setting is set to use one processor. 3. the SQL Server query optimizer will not create execution plans that permit any particular Transact-SQL statement to run on multiple processors at the same time. 2. 1. Run the following query: USE master go ALTER DATABASE Mybase SET READ_COMMITTED_SNAPSHOT ON ©SAP AG 2009 . SQL Server's performance will decrease. RAID 1). with the . and vice versa. while log files should be stored on another (for example. with the . but if the estimated database size is over 500Mb. the greater the size of the transaction log should be. It is advised to set the size of the autogrow increment with the double of the size of your biggest table of consolidation. before database creation. If the latter option is selected. For example. There are also secondary data files (by default. you should set the size of the transaction log to 4-5Mb. if the estimated database size is equal to 10Mb. The speed of the hard disks will directly affect the processing speed of the database. therefore you should set a reasonable size for the autogrow increment to avoid automatic growing too often. otherwise try to set the initial size of the database and the size of the autogrow increment. Set a reasonable size for the Autogrow increment: automatically growing does result in some performance degradation. Set a reasonable size for your transaction log: the general rule of thumb for setting the transaction log size is to set it to 20-25 percent of the database size.ldf extension). When the space available in the database is less than 15%. We also recommend that you allocate the most RAM possible to SQL Server. then each volume will be managed by a separate channel.ndf extension). you should estimate how large your database will be. Recommendations for Setting the File Size of SAP BusinessObjects Financial Consolidation Database Set a reasonable size for your database: first of all. the other is log file (by default. Each database consists of at least two files: one is a primary data file (by default. The smaller the size of your database is. If a connection remains open on this base. Recommendations for Improving Performance on SQL Server To increase the performance of the SQL Server engine. zero or more secondary data files. and one or more log files. These two volumes can be managed by two RAID controllers with cache memory or by one multi-channel RAID controller with cache memory. then 50Mb can be enough for the size of the transaction log. Files containing data should ideally be stored on one secure disk volume (for example. We therefore recommend that you monitor the database to ensure that there is always 20% available disk space in it.mdf extension). ©SAP AG 2009 . we recommend that you separate the data files from the log files and store them on different disks. A database can have only one primary data file. RAID 5). with the . the query will be blocked.Tuning Best Practices Guide Business Objects Financial Consolidation 71 Go The database must not be running during this query. Tuning Best Practices Guide Business Objects Financial Consolidation 72 Backing up Databases using the Simple Recovery Model If the Simple recovery model is used for an SQL Server database, bcp or insert into type commands cannot be used when backing up the database. Since SAP BusinessObjects Financial Consolidation uses commands such as insert into during consolidation operations, running a consolidation operation at the same time as a backup is performed may cause the consolidation to fail. We recommend you switch the database to the Bulk-Logged recovery model before performing the backup. You can then switch the database back to the Simple recovery model. You can switch from one model to another using the following SQL queries: To switch the database to "bulk logged" recovery model: ALTER DATABASE <MyBase> SET RECOVERY BULK_LOGGED To switch the database to the Simple recovery model: ALTER DATABASE <MyBase> SET RECOVERY SIMPLE These commands can be included in backup scripts so that the consolidation processing can run correctly during backup operations. Advantages of a 64-bit Computing Server 64-bit computing has many advantages over the 32-bit architecture. The following is a list of 64-bit advantages: Large memory addressing: The 64-bit architecture offers a larger directly-addressable memory space. SQL Server 2005 (64-bit) is not bound by the 4 GB memory limit of 32-bit systems. Therefore, more memory is available for performing complex queries and supporting essential database operations. This greater processing capacity reduces the penalties of I/O latency by utilizing more memory than traditional 32-bit systems. Enhanced parallelism: The 64-bit architecture provides advanced parallelism and threading. Improvements in parallel processing and bus architectures enable 64-bit platforms to support larger numbers of processors (up to 64) while providing close to linear scalability with each additional processor. With a larger number of processors, SQL Server can support more processes, applications, and users in a single system. Memory Addressing with 64-bit versus AWE Inherently, A 32-bit system can manage a maximum of 4 GB of memory. This limits the addressable memory space for Windows 2000 and Windows 2003 systems to 4 GB. With 2 GB reserved for the operating system by default, only 2 GB of memory remains for SQL Server. To allow a 32-bit system to address memory beyond the 4 GB limit, a set of memory management extensions to the Microsoft Win32 API called Address Windowing Extensions (AWE) is used. Using AWE, applications can acquire physical memory as non-paged memory, and then dynamically map views of the non-paged memory to the 32-bit address space. By using AWE, SQL Server Enterprise Edition can address up to 32 ©SAP AG 2009 Tuning Best Practices Guide Business Objects Financial Consolidation 73 GB of physical memory on Windows Server 2003 Enterprise Edition and up to 64 GB of memory on Windows Server 2003 Datacenter Edition. Although AWE provides a way to use more memory, it imposes overhead and adds initialization time leading to weaker performance compared to 64-bit systems. Also, the additional memory addressability with AWE is available only to the SQL Server's data buffers. It is not available to other memory consuming database operations such as caching query plans, sorting, indexing, joins, or for storing user connection information. It is also not available on other engines such as Analysis Services. In contrast, SQL Server 2005 (64-bit) makes memory available to all database processes and operations. Using the 64-bit version on either IA64 or x64 hardware, a SQL Server instance can address up to 1 terabyte of memory; the current maximum amount of physical memory supported by Windows Server 2003 SP1. This memory is available to all components of SQL Server, and to all operations within the database engine. ©SAP AG 2009 Tuning Best Practices Guide Business Objects Financial Consolidation 4 74 Application Tuning Performance: A Few Reminders The performance is based on 4 fundamental dimensions: - Business Requirements - Data Quality - Application Usability - Response Times Business Requirements Data Quality Response Times Application Usability Optimizing the performance consists in aligning these 4 fundamental dimensions with the customer‘s expectations. In other words the goal is to find the right balance between all these dimensions. This analysis is more efficient when it is carried out jointly between the client and the project team, based directly on client specificities, by managing priorities and trade-offs. Data Collection Validating the Data Volume Recommendation: You should check the data volume in some packages for each category scenario. ©SAP AG 2009 Tuning Best Practices Guide Business Objects Financial Consolidation 75 Things to avoid: - Operate a budget with about a hundred of packages and 20.000.000 rows. - Realize by chance that 90% of one reporting ID amounts are 0 because of an interface issue or a calculation formula issue, and are therefore useless. Why you shall check the data volume: - To justify the response times of all actions in packages, - To validate the configuration, in particular calculation formulas and / or package rules, - To identify any data entry or data import issue, - To reduce the consolidation volume and the response times. How to check the data volume: - By identify a representative sample of packages for the reporting ID, - By counting the number of rows via SQL queries or package export file, - By checking that all the package data is useful and relevant. Checking the Standards Calculations Recommendation: You should check that the calculation formulas generate only useful data. Things to avoid: - Generate 0s to expand rows and / or columns automatically in input documents. - Populate indicators with a constant value and configure an error control that checks that these indicators‘ value has changed during the package data entry. Why you shall check the standards calculations: - To limit the package data volume, - To identify how the category scenario configuration can be quickly optimized. How to check the standards calculations: - By avoiding constant-type formulas that generate 0s, 1s … ©SAP AG 2009 By limiting the account hierarchy. How to limit external calculations: .By justifying when calculations apply to analysis dimensions. Why you shall avoid package rules: ©SAP AG 2009 76 .Possibly by considering populating the destination package via data import from a source package. . . Things to avoid: . Things to avoid: Configure package rules that calculate total accounts or Cash Flow Statement items.By applying these calculations to the bare useful minimum. Avoiding Package Rules Recommendation: You shall use package rules to perform adjustments only. .Because this type of calculation adversely impacts response times.Populate the Actual package with Budget data only for comparison purpose in the package schedules.By considering using the opening data feature combined with standard calculation formulas. .Because this link between packages may make the entry process more cumbersome.Perform a bulk calculation from another entire category. .By identifying one representative package and assessing the impact of calculations in the package total volume by exporting / importing the package. Why you should limit external calculations: . . .Calculate the YTD flow from the sum of each periodic month available in each respective previous package. . Limiting External Calculations Recommendation: You should avoid calculating too much data from another package.By giving priority to data retrieval.Tuning Best Practices Guide Business Objects Financial Consolidation . To make out response time reference measures. How to avoid package rules: By giving priority to adjustments in the package schedules. .By identifying rules that last the most and that select / generate the most data. Things to avoid: .To control the data volume at the beginning and at the end of the consolidation.By making out the duration distribution between rules.Because it would massively use the IT platform resources as and when the system load increases. . in particular consolidation rules that generate much volume and SQL rules. aggregation …). Data Processing Checking the Consolidation logs Recommendation: You shall check the consolidation logs on a regular basis. Why you shall check the consolidation logs: .Because it could make the data collection process more cumbersome.Let the data volume increase very rapidly because of some rules that still need to be optimized? . .By limiting the generated data (usefulness.Leave abnormal unitary processing time for some rules. . notably when rules are used as a substitute for calculations.To validate the configuration.To limit the package volume.Tuning Best Practices Guide Business Objects Financial Consolidation . Using SQL Rules Sparingly ©SAP AG 2009 77 . How to check the consolidation logs: . . . Why you shall select data properly: .By adapting and optimizing the SQL syntax according to the target RDBMS (Oracle. ©SAP AG 2009 78 .Delete hundreds of thousands of rows during the consolidation process. Why you should use SQL rules sparingly: .Because it is more risky as regards the application malfunctioning How to use SQL rule sparingly: .Combine the Period dimension with one single period category in the initialization blocks.By not generating data which is not compliant with the consolidation engine .By trying not to delete data.Not to make the implementation and maintenance more complex . Data Retrieval Selecting Data Properly Recommendation: You should initialize the dimensions as really needed.To make the configuration more understandable . Things to avoid: .Tuning Best Practices Guide Business Objects Financial Consolidation Recommendation: You should be very cautious about SQL rules. SQL Server) .To avoid increasing the number of accessed consolidation tables when the retrieval engine analyzes the report configuration. .Select all the Unit dimension values with the aggregation grouping mode. Things to avoid: . .Ignore that SQL rules can last several minutes in real life while they only take a few seconds during tests.Because some bespoke developments can adversely impact the system performance if not integrated enough . Why you shall design simple Web reports: .By implementing genuine browsing rationale with links between reports . Why you should create index(es) on data tables: .To limit the impact of the document HTML page size in the report opening time.To limit the network download. . .By avoiding complex style books Creating index(es) on Data Tables Recommendation: You should optimize the report execution time by creating index(es) on data tables. .By restricting the report size to a few hundreds of cells .By controlling documents created via ―Save As…‖.Run Web reports which generate a 5Mb-sized HTML page.To avoid a data table full scan by the database engine to fetch the queried data ©SAP AG 2009 79 . .By using expendable rows and / or columns sparingly in reports . How to design simple Web reports: . Things to avoid: . Designing Simple Web Reports Recommendation: You should not create extra long expendable Web reports.By configuring a reasonable number of columns in comparative consolidation report.To make the HTML code easier and quicker to read for the Web browser on the users‘ desktop.By avoiding aggregating all values on mandatory dimensions.Tuning Best Practices Guide Business Objects Financial Consolidation How to select data properly: . By using the product built-in features to create new specific indexes.To make sure that IT platform is ready to host the delivered configuration (it was first tune before the configuration starts) How to calibrate the operating IT platform: .Because performance results from the combination between IT platform and configuration . .By checking that the default index on the Account dimension is appropriate for the most critical operating reports. . Things to avoid: .To make sure that IT platform performance meets the IT specifications .By measuring the disks performances .Try not to spare time. . Why you should calibrate the operating IT platform: .By laboratory testing for reference measures .By checking the RDBMS engine settings ©SAP AG 2009 80 . Application Calibrating the Operating IT Platform Recommendation: You should check that the IT platform works smoothly on a regular basis.Tuning Best Practices Guide Business Objects Financial Consolidation .By auditing the SQL query run by the heaviest reports.To keep database server from any useless workload How to create index(es) on data tables: . .Accept too long consolidation or mediocre duration (1 hour to generate 2 million rows is a Carat (former version of the product) vintage performance on last century‘s hardware).Accept report which opens in more than 1 minute .By reviewing the report configuration by creating report links associated with relevant indexes. ® ORACLE is a registered trademark of ORACLE Corporation. All rights reserved. and Motif are registered trademarks of the Open Group. MVS/ESA . JAVASCRIPT is a registered trademark of Sun Microsystems. XML. SAP Logo. Inc. SAP does not warrant the accuracy or completeness of the information. Word . ABAP. Inc. including but not limited to. R/2.com Logo and mySAP. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. fitness for a particular purpose. SAP. OS/390 . S/390 . AIX . SAP Business Workflow. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third party Web pages nor provide any warranty whatsoever relating to third party Web pages. RS/6000 . World Wide Web Consortium. WebFlow. Massachusetts Institute of Technology.. OSF/1 . RIVA. ® ® ® ® UNIX . used under license for technology invented and implemented by Netscape. All other products mentioned are trademarks or registered trademarks of their respective companies. ® ® ® ® ® ® ® ® ® ® ® ® IBM . Disclaimer: SAP AG assumes no responsibility for errors or omissions in these materials. ® HTML. either express or implied. Management Cockpit. Parallel Sysplex . graphics. DHTML. ® ® ® ® ® ® ® Microsoft . SAPPHIRE. links or other items contained within these materials. The information contained herein may be changed without prior notice. and OS/400 are registered trademarks of IBM Corporation. or non-infringement. DB2 . indirect. ©SAP AG 2009 . WINDOWS . BAPI. OS/2 . text. SAP EarlyWatch. TM ® ® INFORMIX -OnLine for SAP and Informix Dynamic Server are registered trademarks of Informix Software Incorporated. SAP ArchiveLink. XHTML are trademarks or registered trademarks of W3C . AS/400 . DB2/6000 .com are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. SAP shall not be liable for damages of any kind including without limitation direct. EXCEL . mySAP. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.Tuning Best Practices Guide Business Objects Financial Consolidation 81 © Copyright 2010 SAP AG. X/Open . or consequential damages that may result from the use of these materials. the implied warranties of merchantability. R/3. NT . PowerPoint and SQL Server are registered trademarks of Microsoft Corporation. special. These materials are provided ―as is‖ without a warranty of any kind. ® ® JAVA is a registered trademark of Sun Microsystems.
Copyright © 2024 DOKUMEN.SITE Inc.