Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Version 5
Windows UNIX
No part of the computer software or this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without permission in writing from Business Objects. The information in this document is subject to change without notice. If you find any problems with this documentation, please report them to Business Objects in writing at documentation@businessobjects.com. Business Objects does not warrant that this document is error free.
Copyright Business Objects 2002. All rights reserved. Portions Copyright 1996, Microsoft Corporation. All rights reserved. Printed in France.
Trademarks: The Business Objects logo, BusinessMiner, BusinessQuery, and WebIntelligence are registered trademarks of Business Objects S.A. in the US and/or other countries. The Business Objects tagline, Broadcast Agent, BusinessObjects, Personal Trainer, Rapid Deployment Templates, and Set Analyzer are trademarks of Business Objects S.A. in the US and/or other countries Microsoft, Windows, Windows NT, Access, Microsoft VBA, the Visual Basic Logo and other names of Microsoft products referenced herein are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. All other names of Oracle products referenced herein are trademarks or registered trademarks of Oracle Corporation. All other product and company names mentioned herein are the trademarks of their respective owners. This software and documentation is commercial computer software under Federal Acquisition regulations, and is provided only under the Restricted Rights of the Federal Acquisition Regulations applicable to commercial computer software provided at private expense. The use, duplication, or disclosure by the U.S. Government is subject to restrictions set forth in subdivision (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at 252.227-7013. U.S. Patent Numbers 5,555,403 and 6,247,008 Part Number: 3B3-50-500-01 Edition: 1
Contents
Chapter 1 Introduction 5
Network and System Configuration ........................................................................ 10 General Server Tuning ................................................................................................ 12 Web Servers .................................................................................................................. 13 Chapter 3 Tuning your BusinessObjects Deployment 17
Skill Set Requirements for Business Objects ............................................................ 19 WebIntelligence Clusters ............................................................................................ 21 Configuring the Cluster Modules ............................................................................. 21 Deploying with Distributed Architecture ............................................................... 26 Universe Design and Development .......................................................................... 27 Supervisor and the Repository .................................................................................. 32 Accessing Data ............................................................................................................. 36 Connectivities .............................................................................................................. 37 Bomain.key File ........................................................................................................... 39 Troubleshooting .......................................................................................................... 39 Storage .......................................................................................................................... 40 UNIX Specific Tips ...................................................................................................... 40 WebIntelligence OLAP Administration ................................................................... 41 Chapter 4 Optimizing Document Design 43
Contents
53
Improving Login Time ................................................................................................54 Enhancing Performance/Usability from InfoView ................................................55 Enhancing Performance from BusinessObjects .......................................................56 Enhancing Performance from BusinessObjects 5i in 3-Tier Mode ..............................................................................................................58 Enhancing Performance from Broadcast Agent ......................................................58
Introduction
...................................................................
In this chapter
Overview 6
Introduction
Overview
The purpose of this document is to provide some guidelines for using Business Objects desktop and server products efficiently. This document is currently a collection of miscellaneous advice grouped into the following main categories: Tuning the System Tuning your Business Objects Deployment Document Design Enhancing Performance The information presented in this document is compiled from advice from Business Objects consultants and internal testing. As a whole, this advice can improve overall system performance, specific functions such as document generation, or simply make the products easier to use. If you have a tip, trick, or other practice appropriate for this guide, share it with other customers and consultants by submitting it for this guide. All feedback should be addressed to: documentation@businessobjects.com The organization and format of this document is such that little effort is required; a simple sentence will do, a couple of phrases dashed off in an email message. Be civic-minded! If this document has helped you, help it to help others! With your contributions, we can post regular updates, and this collection can become a veritable Users Bible.
of Business Objects products. The exact wording of some settings and menu command structures may vary from version to version. In general, we have used the wording and menu structures from the latest release of Business Objects 2000 (5.1/2.7). Specific versions are mentioned when appropriate.
Screen shots in this document refer to Windows 2000 only; when the workflow is different on NT4, it is described.
Overview
Introduction
In this chapter
Network and System Configuration 10 General Server Tuning 12
Under Windows 2000, select Background services in the Application response box (My Computer > Properties > Advanced > Performance Options):
Note: Under Windows NT4, set the Foreground Application Performance boost to None (My Computer > Properties > Performance).
Windows Specific
Uninstall extraneous applications present on the machine, like Outlook Express, MS Wallet, etc. Stop the SMTP and ftp publishing services, and all other unused Windows services. Change display properties from 65536 to 256 or fewer colors, and 800 x 600 display. For Windows deployments, install WEBINTELLIGENCE on an NTFS (NT File System) partition. Ensure that you have set the correct default language: On Windows NT: Start Menu > Settings > Control Panel > Regional Settings > Regional Settings > Set as system default locale On Windows 2000: Start Menu > Settings > Control Panel > Regional Options > Set Default
Web Servers
Use a defragmentation utility regularly to maintain a well-optimized disk subsystem. Use a fixed size for the Paging File size rather than a dynamic one (Control Panel > System > Performance tab). On Windows server machines in general, never log on at the console. This will slow down your server. Regularly check for memory shortage by monitoring the systems total virtual memory usage over time (including physical RAM and paging file usage), using Performance Monitor. If the paging file is constantly being resized, there is insufficient physical memory. Paging files should go on the fastest disk or RAID array.
UNIX Specific
Check for redundant processes and programs and remove them. On Solaris, use 1 GB RAM for 2 CPUs on NT, and 1 GB RAM for 1 CPU. Have plenty of free disk space and make sure the permanent page file is set to approximately 150% the physical RAM. Refer to the UNIX Performance, Optimization and Sizing Guide for UNIXspecific, detailed sizing and optimization instructions.
Web Servers
Web servers are an element of your deployment that can be tuned relatively easily to improve performance. If you are deploying a cluster, you can put your web server on a Windows or a UNIX node, but UNIX is recommended because it has the best throughput. Never bind web servers to virtual IP addresses. You can bind web servers on the same network interface in other ways, such as by binding them on different ports rather than addresses. For example:
webserver1 = http://ipaddress:8080 webserver2 = http://ipaddress:9090
Note: These parameters were adjusted and tested internally to quantify the effect of the new values. These tests were executed on a WEBINTELLIGENCE 2.7 deployment. The adjusted values are applicable to the tested deployment. Adjust these parameters then test your deployment before definitively changing these values.
Tip: Keep backup text versions of configuration files so that you can reinstate old
values if the adjusted values prove ineffective after testing. KeepAliveTimeout: we recommend increasing this to 120 MaxClients: set this to at least the maximum number of users likely to log in to your system. Another possibility is to set MaxClients to 2.5 times the number of concurrent users (2.5 times the maximum number of users actively using the system at any one time; example: for 20 concurrent users, 20 * 2.5 = 50 MaxClients) MinSpareServers (set this to the average number of users * 3) MaxSpareServers (set this to the peak number of users * 3)
Web Servers
There are many other parameters you can change. See both the Installation and Update Guide for UNIX and the UNIX Performance Optimization and Sizing Guide for more information.
In this chapter
Skill Set Requirements for Business Objects 19 WebIntelligence Clusters 21 Configuring the Cluster Modules 21
General Advice 21 WIGenerator 22 BOManager 22 WISessionManager 24 WIStorageManager 25 WIDispatcher 26 Broadcast Agent Manager 26 WIAPIBroker 26
Deploying with Distributed Architecture 26 Universe Design and Development 27
WebIntelligence Clusters
WebIntelligence Clusters
Disable network connections to other servers on cluster nodes (mapped drives). On Windows cluster nodes, disable the following services: NNTP SMTP MSDTC IIS -- unless you need to use the IIS web server! Although single OS platform clusters are the best, you can mix Windows and UNIX servers in the same cluster, but you must remember the following rules: Always put the cluster manager on a UNIX server. You can put your web server on a Windows or a UNIX node, but UNIX is recommended because it has the best throughput. Put your printer on a Windows node, because UNIX machines can print directly to Windows printers whereas Windows machines cannot print directly to UNIX printers.
Put the heavier processing load on cluster nodes, leaving the cluster manager freer to perform its control and management functions. Use the fastest disk possible on the server running the WIStorageManager and WISessionManager, as the throughput on this server is one of the critical aspects for performance. In larger deployments, an all cluster manager deployment (therefore multiple clusters, using a Cisco Local Director or equivalent) may be the best strategy if you are concerned about system uptime. If every machine is a cluster manager, failover is excellent! Multiple session managers can speed up login, and can, depending on the workflow, minimize network traffic. Note that this multiple cluster manager configuration is not supported for use with a single instance of AUDITOR.
WIGenerator
Enable a WIGenerator on the same machine as the web server and the HSAL. Enable WIGenerator processes on nodes where BUSINESSOBJECTS processes are not enabled, and vice versa. Performance is improved when specific nodes process full-client or thin-client documents. Enable no more than one instance per processor. If youre using WEBINTELLIGENCE 2.6 SP1 or later, use multiple instances of WIGenerator on a single server as a way of preventing a single instance from becoming a bottleneck if multiple WIQT processes are launched simultaneously.
BOManager
The BOManager is the server responsible for launching and handling busobj processes. To prevent the BOManager from trying to load too many busobj processes, we recommend that you leave the following BOManager parameters
at the default values specified in the WEBINTELLIGENCE Administrator Panel, or if you increase them, to tune them to values inferior to the values in the following table:
BOManager Parameter Default Value Maximum Recommended Value
Set this value the maximum number of users concurrently using a busobj process.* Consider CPU and memory restrictions when setting this value (this value should be less than 5 per processor). This value must be greater than the Max. number of busy processes value. This value should be less than 28 for standard deployments. This value must be less than the limit permitted by the memory on the server.** Set this value to 1, then increase up to 7.5 per processor.*
10
* Note the following definitions: loaded processes refers to the number of processes alive on the server at a given time. Concurrent processes refers to the number of active processes (processes which are opening, refreshing, calculating full-client documents) at a given time ** The Deployment Guide provides formulas for estimating the amount of memory required for busobj and wiqt processes running on one server. As these formulas indicate, increasing the number of busobj processes on a server increases the amount of memory required on the server.
Refer to...
...this guide: for this information:
the Deployment Guide the WebIntelligence Administrator Panel online help WebIntelligence System Administrators Guide
complete and detailed information on server memory requirements tuning BOManager parameters
Note: The above settings must be considered in light of available RAM and the
setting for non-interactive heap in servconf. If the non-interactive heap is set to 1536 (for large documents), you may need to decrease the number of BUSINESSOBJECTS processes, since there is only 40 MB available for the heap.
Drop the Recycle Process (actions) parameter down to 10 for stability; this avoids getting unhandled_exceptions from BUSINESSOBJECTS processes. Drop the Delete inactive process after parameter to 1 or 2 minutes so the same process isnt used over and over. If youre having stability problems, increase the Keep exclusive process setting to 120. This may hurt performance, but it should improve stability. For faster full-client document display, install a printer driver on every machine on which this module is enabled. This enables the BOManager to use the local printer driver to determine the details necessary for displaying the document.
WISessionManager
With WEBINTELLIGENCE 2.5, you must synchronize the WISessionManager timeout with the BOManager parameter: Delete inactive process after. This is not necessary for WEBINTELLIGENCE 2.6.
WIStorageManager
Enable more than one WIStorageManager in a cluster and enable shared storage. This allows you to have both load-balancing and failover between these modules. Even if you enable this module on a cluster node, enable it on the cluster manager as well. Increase the Storage maximum size to a size that is appropriate for your deployment, depending of the amount of disk space available (the default size is100 MB). This cache should be big enough to store all the documents from the repository (potentially very large) in addition to the *.html, meta file and *.pdf versions of those documents.
WIDispatcher
Enable WIDispatcher on the same machine as the web server and the HSAL. If you have more than one web server, you should enable this module on each machine hosting a web server.
WIAPIBroker
Enable this module on each machine running WICOM or WIBean objects (WEBINTELLIGENCE SDK).
Universe Design
Follow the general workflow and the following tips to design an effective universe that meets end users needs: Involve users at every step of the universe design and production process, especially in naming objects (this ensures the terminology is correct). During the Build phase, use the iterative process known as Rapid Application Development (RAD), which uses a group of pilot users to test the universes, provide feedback, test modifications, provide feedback, etc. This feedback loop is critical and will result in a more effective universe that will ultimately facilitate ad-hoc queries.
Keep the universe business-focused, for example when naming objects and classes. Build universes by referring to existing company documents. Build universes by starting with user requirements. Specify standards for: Universe names: always carefully choose the universe name, as renaming a production universe is not recommended. If you change a universe name, you will have to repoint all documents created in that universe to the new name. Object definition guidelines Simple object names Complex object names Aggregate object names Class names Alias names Help text
Universe Development
Take user requirements at face value, remaining in business terms. Basic rules of thumb: Do not normalize. Database designers apply a series of rules to eliminate redundancy of information in a database, i.e. having the same piece of data stored in more than one place. Use Multi-Dimensional Modeling instead. When several developers are working on one universe, remember that the Lock universes on import feature will only prevent people from exporting over the universe in the repository. This feature will not prevent someone from importing the universe and making changes, although they will not be able to export those changes back to the repository until the lock has been removed. Therefore if several developers have the ability to import and export the same universe, coordinate their efforts to avoid development on a universe that is out of date. Use the comments text box (File > Parameters > Summary > Comments) to record the status and changes of a universe for other developers. This text is only visible in DESIGNER, whereas the description text (shown on the Definition tab) is visible to end users when they select an available universe.
Use this latter description to represent a business description of the universe's purpose. Always define cardinality, even for self joins, to avoid cardinality warning messages. Lay out your structure window with cardinalities facing the same direction. This helps you identify and visualize the contexts. Use the Tools > Detect Contexts feature of DESIGNER to manage your contexts. Always arrange tables logically in the structure window. Always detect loops and contexts. Always check integrity. If the universe is bigger than 1MB, divide it into multiple universes. When you select File > Open, you load the universe into RAM. For example, if the universe is 1.39 MB, then it uses 1.5MB RAM. This could have had an impact on the RAM available to your system. Use aggregate awareness, which speeds up query time by using special tables containing pre-calculated data. Do all aggregation on the server side instead of in the document (this can result in huge time savings). Define aggregate SQL functions on universe measures. Fewer rows will be returned from the database thus making reports smaller and the calculation of their variables, ranks and alerters quicker. Remove unnecessary lists of values, such as on dates and measure objects. Base lists of values on lookup tables. After the Build phase, ensure an adequate Quality Control phase to verify the universes for technical accuracy (adherence to standards, review of object definitions for syntactic accuracy, validation of joins). In DESIGNER, under File > Parameters > SQL, set the following parameters: Set Cartesian products to Prevent. Universes should not allow Cartesian products since they are a symptom of incomplete joins and will affect performance and accuracy of query results. Select the multiple path options as shown below. Multiple SQL statements for each measure can negatively impact performance, although you may choose to enable this option during development since it may solve some
point to an object in the results or condition panes, its class appears in the object description pane. Always define help for objects. Start the help off with the objects full name: this is particularly helpful to users if the objects name is very long and cannot be fully displayed in the Query Panel. Dimension, Measure and Detail objects should be within their logical classes unless the measure objects are generic to the whole universe, in which case a General Measure class is created. Create a separate class for conditional objects. This gives the user immediate focus as to where the conditions reside and avoids ambiguity. If necessary, create separate subclasses within the Conditions class to organize the conditions logically. When renaming objects, do not copy and paste objects from one class to another and then cut the original objects. This method will cause errors in the Query Panel. Instead, simply drag and drop the object from one class to another and then rename the object. The Query Panel identifies an object by its ID and also by its name. If you change an objects name, the Query Panel can find the object by its ID. If you drag and drop an object around the universe it will keep its ID, and the Query Panel will not generate an error. Format objects and measures within the universe. This prevents users having to spend valuable time formatting data from within the reporting tool every time they create a report.
Universe Joins
Avoid building universe tables with no joins, even if these tables are just snapshots of Oracle materialized views. Optimize database performance by using shortcut joins. Shortcut joins provide an alternative path between two tables. Shortcut joins can improve query performance by using shorter paths and bypassing intermediate tables. Avoid outer joins where possible. Outer joins may have a negative effect on performance since more rows are returned. Additionally, some databases will not use indexes when outer joins are involved.
Universe Connections
We recommend the following settings in File > Parameters > Edit Connection > Advanced:
Keep the connection alive for X minutes: this prevents repeatedly opening and closing connections, and keeping connections open for excessively long periods. Set X according to your deployment needs, but we recommend limiting the connection to 10 minutes maximum. The most stable solution is to select the Disconnect after each transaction option. Array fetch size: test your deployment for the best array fetch size. Tuning this parameter can significantly reduce the time it takes for the query results to be returned. Increase the array fetch size when you have good network with low latency. If you have a slow network and high latency then you are often better with a lower value. Try different parameters: 1, 10, 20, 30, 40, 50, 100, 200, 500, 1000 and use the value that provides the best performance on your deployment. This parameter also exists in the connections to the Repository. Changing this parameter for the Document Domains can improve the time it takes to import and export documents by a considerable margin, and BROADCAST AGENT and WEBINTELLIGENCE will run faster as a result. It is important to test different parameter values from different locations, since results from one location may improve, while results from another location may decrease. The default provided by BUSINESSOBJECTS is often the best compromise.
disable flag on the document to see if it is enabled for their particular group. This leads to slower repository responses. It is strongly recommended that the repository domains are not administered via the same database account as operational data. This eases database maintenance and administration. Restrict the number of universes in a single repository. If the repository is likely to be large is it recommended that the repository is stored on a separate table space to that of the operational data. Under User Properties, the Full Checking identification strategy is not necessary if using NT Challenge Response. If NT authentication is not required, deselect the Enable WinNT authentication option in Tools > Options > Security Policy. If possible, deselect the Work with Timestamps and Work With Universe Overrides options in Tools > Options > Repository tab.
This reduces the number of SQL statements generated at login. This can improve performance over slow networks.
This is critical, as if this option is not checked, users can create other users with higher privileges than themselves, then use those logins, thereby circumventing the entire user privilege hierarchy. Disable all functions of Business Objects products for users who are not skilled enough are or not required to use them. This makes the products easier to use, and there is less risk of mistakes being made. (For example, in many situations, all the Query options in the Universe Parameters > SQL tab in SUPERVISOR can be disabled.)
Closely monitor the size of the document domain. Refer to the Deployment Guide for details on memory requirements. Regularly purge all Inbox documents older than a given number of days from the repository. This lets you recover the document domain space taken up by documents which have been sent but not yet collected by users. This feature can be especially useful when regularly scheduled documents are sent using the Refresh according to the profile of each recipient option (report bursting). If you need to purge Inbox Documents, notify your users beforehand so they have time to retrieve the documents they require. Purges cannot be undone! Regularly delete old or outdated corporate documents from the repository. You can do this one document at a time, using the Tools > Delete Document command. Perform a regular "scan and repair" followed by a "Compact" on the repository at least once a week. This physically deletes all documents marked for deletion. If your repository contains lots of BUSINESSOBJECTS 4.x documents, re-publish them as 5.x documents. This optimizes document storage. In the Properties box of the top level group, select the Definitions tab. Check the Disable Login for 4.x release or earlier option, if your deployment does not require logins previous to the current release:
Keeping the set of default user rights in SUPERVISOR may improve the response time of the List of Values when an end user opens a document in INFOVIEW. The default user rights are displayed here:
Select Enable Offline Login Select Enable Password Modification Select Enable Delete Document
Accessing Data
Group different data sources in a single data warehouse. This will optimize the access and analysis of data for business users. Optimize your data source. Create aggregate tables and leverage the Business Objects aggregate awareness feature to speed up queries for summary data. Limit the number of Data Providers in order to increase the response time when retrieving the data.
Connectivities
Connectivities
By default, the Array Fetch Size for most databases is 50. Increase this value for fast networks. Decrease this value for poor networks. Limit the size of Result Set To when network performance is slow.
Dont forget that you can define connections in three places in SUPERVISOR: In the bomain.key file Tools > Repository
Bomain.key File
The closer the corporate and repository databases are to the WEBINTELLIGENCE server, the better the performance. Ensure the latency of the network link between the WEBINTELLIGENCE server and the repository is as low as possible - under 10ms if possible. If the repository is on Oracle, you can use the TNSPing utility to test latency. If the latency is higher than 50ms, review the network structure and consider new switched hubs, relocation of the WEBINTELLIGENCE servers and repository database and to improve latency.
Bomain.key File
Always recreate the bomain.key file(s) when updating a version of BROADCAST AGENT, INFOVIEW or WEBINTELLIGENCE.
Troubleshooting
You can make troubleshooting your deployment easier by installing all modules (WEBINTELLIGENCE, BROADCAST AGENT, Zero Admin BUSINESSOBJECTS) plus the desktop products (BUSINESSOBJECTS, DESIGNER, and SUPERVISOR) on all server machines, then disabling individual modules depending on what products you choose to run on each machine. This strategy is also useful when you make changes to your deployment: rather than having to uninstall or re-install different modules as the deployments needs evolve, you will be able to simply activate or deactivate the appropriate modules on the chosen server.
Example Troubleshooting an application
.........................................................
This strategy enables you to perform maintenance on the server that hosts an application while keeping the application available. For example, Server 1 hosts BROADCAST AGENT and requires maintenance. Since all modules of the BUSINESSOBJECTS suite, including BROADCAST AGENT, were installed on Server 2, you can simply activate BROADCAST AGENT on Server 2 (reinstallation is not necessary). Server 2 can serve as BROADCAST AGENT until maintenance is performed on Server 1, and there is less interference to your deployment.
.........................................................
Storage
Put important files such as databases on RAID 5 or RAID 1 because of their ability to recover data virtually instantly if a disk crashes. Use RAID 0 when speed is important (it is the only one of the RAIDs actually faster than a single hard drive). In cluster configurations, place the WIStorageManager drive outside the cluster configuration on a fast file server drive such as a RAID drive. This facilitates sharing if the cluster manager fails. Use shared Storage if you have a fast network. It allows both cluster nodes and multiple clusters using the same repository to share a single Storage space, which can be on a separate server or file system. This is beneficial in terms of storage space and failover.
system, with a directory mounted on a disk with lots of available space. This attenuates high peaks of disk use. For improved performance, set up your system to perform a routine at startup to clean up or backup log and audit files. On Solaris, you can do this by customizing either of the following: The S99WebIntelligence script to perform this action at boot time. The wstart and wstop scripts to perform this action at each WEBINTELLIGENCE start and stop. On AIX and HP-UX, you can do this by customizing the wstart and wstop scripts.
In this chapter
Document Design 44
Document Design
Dissatisfaction with the performance of a product is sometimes due to the users tendency to use the product in a way for which it was not designed. Documents that take a long time to run and refresh may not be designed in an optimal manner. Reports that are excessively long or complex may therefore lead to display issues such as long response time. It is therefore important to strategically design documents with your system, network, and user population specifics in mind. These variables can be drastically different between deployments, and as a result, there are no fast rules on designing documents. The following general tips are designed to guide you in creating a document design strategy appropriate to your deployment: Documents over 200 MB will significantly impact performance. Keep and monitor your document size to well below this limit. The smaller the better. In general, limit document size to approximately 5 MB, but performance depends on your specific deployment, available resources, network specifics, etc. As with universe development, involve end users as soon as possible, as often as possible, and at every stage. Create document prototypes to demonstrate both for feedback and "educational" purposes. This will enable you to design the type of document that best needs your end users information needs. Define standards for document variable, block, table, chart, column, tab, and data provider names. This makes maintenance easier. Give each data provider a meaningful, user-friendly name. Produce a standard corporate document template, which may incorporate header/footer, title, logo, date/time, font and calculation formats. Save this as the default template. Whenever possible, use breaks to have better control over white spaces. Use sections for better navigability. Remove redundant or unused variables. Give each document a unique identifier. For example, make its title a combination of letters and/or numbers: A100, A101 etc. Keep documents in 'sets' and reflect this in the numbering. For example all inventory documents run from IN1000 to IN9999, all customer-related documents run from CU1000 to CU9999 etc. This makes identifying the document easier for retrieval, removes any confusion when relating to technical support.
Document Design
Restrict the amount of data returned to the client by placing conditions on query objects. This is especially valid over slower networks. Use user prompts in standard documents to restrict data and display relevant data to individual users under a common format. This can reduce the number of documents being developed for multiple users, and it avoids the possible wide-scale distribution of documents containing large and potentially irrelevant amounts of data.
BusinessObjects Documents
The following tips are specific to full-client (BUSINESSOBJECTS) documents: When creating full-client (BUSINESSOBJECTS) documents, reduce the number of calculations in a document to the required minimum (including the count calculation). Calculations (variables and formulas) created at the document level are performed upon the opening of the report by the BUSINESSOBJECTS process (BusObj on Windows and bolightsvr on UNIX). The more variables and formulas created at the document level, the heavier the load on system resources, and the greater the impact on performance when the report is opened or refreshed. With BUSINESSOBJECTS documents, have the first tab be a cover sheet containing information about the document. This opens up very quickly even if the tabs have to be generated. Its better to create a single document with multiple report tabs rather than separate queries for separate documents, as this will result in more efficient processing for an On-Line Transaction Processing (OLTP) system. You can create different BUSINESSOBJECTS reports by adding more tabs that represent the data in numerous ways or use filters to display different values for a dimension for each report tab. This method works well with universes built on transaction databases where performance is an issue.
Limit data providers in the creation of a BUSINESSOBJECTS documents. Each data provider requires a separate connection to the database. A BusObj/ bolightsvr process synchronizes all the data from each provider. The more data providers need be synchronized, the more machine resources are required by the BusObj/bolightsvr to accomplish this task. If you have multiple reports on separate report tabs and these reports draw their data from the same source, do not create a separate data provider for each report. Instead, create a base data provider that contains the data used by all the reports. Since BUSINESSOBJECTS retrieves data for each data provider, it is more efficient to retrieve data once and distribute it to several reports than to retrieve the same data several times.
Example Create reports showing revenue by country and resort, and revenue by country
.........................................................
In this example the Revenue and Country objects are common to both reports. Instead of creating a data provider for each report you create a data provider containing the Revenue, Country, and Resort objects and use these objects in both reports. You can use the Query Panel to modify a data provider by selecting: Data > Edit Data Provider.
.........................................................
Create Summary / Detail documents in BUSINESSOBJECTS using View > Outline. This allows you to fold and unfold the sections and/or data that corresponds to a break in the current block. Break up large BUSINESSOBJECTS documents into separate report tabs, so that the PDF/HTML is only generated for the tabs that the user requests. Less data is therefore transferred to the client browser. Choose the presentation format for BUSINESSOBJECTS documents according to their intended distribution media.
WebIntelligence Documents
The following tips are specific to thin-client (WEBINTELLIGENCE) documents: Avoid calculating sums and percentages in WEBINTELLIGENCE documents encompassing several thousand rows. The count calculation has a negative impact on performance on very long documents. Avoid designing 600-page long WEBINTELLIGENCE documents! This is a guideline, and not a concrete limit, but consider the impact on the server of processing such a document. Beyond the document processing stage, consider
Document Design
the load on your network as the client requests such a document. Consider the number of users that request this particular document. All of these performance factors contribute to the response time of large and complex documents. Large WEBINTELLIGENCE documents have an especially negative impact in extranet and WAN deployments, which are network-bound. The smaller the web pages transferred to the client, the less clients response time is affected by the network. Use drill functionality or the WEBINTELLIGENCE hyperlink index for section navigating.
Hyperlink Index
Drill Functionality
When creating WEBINTELLIGENCE documents, use the Row Count per Page option in the Web Panel.
This allows you to cut your document page by page. This may help some performance issues, as users will be able to see the first page of the document before the server can download the other pages.
BO_ProcessTypeFileInMemory and BO_FileInMemoryMaxSize, as explained above. In this case, you must deactivate DEFER mode by setting the variable BO_AIX_NODEFERMODE. Refer to the WEBINTELLIGENCE readme for more information and examples on how to set these variables. Do not store data within a full-client document, especially if the document will be refreshed on open in INFOVIEW. In BUSINESSOBJECTS, when you export a document to the repository, make sure the data is purged from the cube: View > Data Manager > Results tab, Purge button.
Purge
As a document without data takes up less space in the repository, the export, import and refresh of the document are considerably quicker, as is the opening of the document in INFOVIEW.
Do not store HTML within a document, especially if the document will be refreshed on being opened in INFOVIEW (File > Publish to Corporate Documents, HTML Options button: Deselect the Store generated HTML in document option).
You can reduce the time it takes to open the BUSINESSOBJECTS document and generate the HTML by breaking down the document into smaller documents and/or by breaking the report into separate report tabs. We suggest that you: Create a document per section and/or per report tab. Reduce the number and/or the complexity of the formulas in your documents whenever possible.
Note: With WEBINTELLIGENCE and BOManager, the HTML is generated for each report tab on an on-demand basis. Therefore, breaking up a BUSINESSOBJECTS report into several smaller reports within the same document will improve performance by generating (and transmitting to the client browser) only the HTML for the tab that the users actually select, as opposed to generating the entire HTML the entire document at once.
Enhancing Performance
...................................................................
In this chapter
Improving Login Time 54 Enhancing Performance/Usability from InfoView 55 Enhancing Performance from BusinessObjects 56 Enhancing Performance from BusinessObjects 5i in 3-Tier Mode 58 Enhancing Performance from Broadcast Agent 58
Enhancing Performance
It provides a much more precise rendering of the document. The presentation is generated and streamed to the client browser page by page, not per tab or section. The server compresses the enhanced presentation before it is streamed to the client browser, where it is decompressed. This conserves network bandwidth and further improves performance. Have all users with BUSINESSOBJECTS 5.1 installed on their desktop select the BUSINESSOBJECTS option for viewing BUSINESSOBJECTS documents.
This minimizes the number of resource-intensive BUSINESSOBJECTS processes running on the server.
Enhancing Performance
Use categories! It makes INFOVIEW easier to use, and makes it easier to find the documents you need.
In BUSINESSOBJECTS, schedule the frequent refresh of the corporate documents that you expect will be accessed by a significant number of WEBINTELLIGENCE users (for example, every 10 minutes). This will ensure that these documents are always up-to-date and that users wont need to refresh the documents themselves. Next, disable full-client refresh rights for all users. Because the documents are refreshed so frequently, users are automatically guaranteed up-to-date documents anyway. WIQT processes are therefore used for user validation only, and the interaction between the server, the repository and the RDBMS is kept to a minimum. Consider having client-server mode users login in offline mode. This saves time because offline mode establishes a direct connection with the database(s) containing document data and bypasses the need for frequent transactions with the repository a frequent source of system bottlenecks. 3-tier users can work locally to analyze previously refreshed reports, but cannot hit the database offline since in 3-tier mode, all transactions with the database are conducted via the WEBINTELLIGENCE server. The disadvantage of this is that all document exchange is denied. It also means that new documents, modifications in users, etc. are not taken into account.
Enhancing Performance
If youre having problems, set the following BOManager parameters in the Business Objects Services Administrator: Auto shutdown BOManager after: 120 minutes or more Timeout for batch actions: 120 minutes or the number of minutes the longest job in batch processing should take to complete. When you configure your systems connections, the Disconnect after every transaction option can have a major effect on performance and stability,
58 Business Objects Documentation Supplement
although whether its activation has a beneficial effect depends on many factors. We suggest you try checking this option. If your site subsequently has connection issues, uncheck it. Regularly use the Scan and Repair utility that comes with SUPERVISOR to scan the repository tables used by BROADCAST AGENT for problems such as a BROADCAST AGENT without any declared timestamp, or invalid dates. You can use the same utility to fix the problem.
Enhancing Performance