Report Runs Slowly
- Does your IBM® Cognos® environment conform with the supported environments?
- Has the report always been slow or did it recently become slow?
If it recently became slow, can you identify an event that occurred just before the report began to run slowly? Events could include changes to configuration settings, changes to tuning settings, a recent upgrade where your previous settings have not been applied, an introduction of firewalls or proxies, changes to existing firewalls or proxies, changes to virus scans on temp directories, or temporary table space restrictions on the database. This event could have caused the change in report performance.
- Is the performance slow for all reports or just one report?
If all reports are slow, the issue may be due to your environment or database. If all reports from a specific package are slow, the issue may due to the model design. If just one report is slow, the issue may be due to a specific report element.
- How many queries does your report contain?
The number of queries on the report will proportionally affect the report execution time.
- Does the report run slowly for everyone, or just for one user?
If the report runs slowly for just one user, the issue may be due to something in that user's environment, such as virus scanning, page file size or location settings, or their location on the network.
- Is the report burst or run often by many people?
If many people are running the same report at the same time, you may need to scale your environment or consider using dispatcher routing rules to direct all requests for a specific package or group of users to a specific server or server group. For more information, see the IBM Cognos Business Intelligence Administration and Security Guide.
- Do your queries require local processing?
The following report elements require local processing: crosstabs and charts, master relationships, unions or joins, multiple fact queries, bursting, and non-vendor specific functions. Local processing requires the IBM Cognos server to compute operations on the result set returned by the database, which can impact the SQL execution time.
- Does your environment use a Custom Authentication Provider?
Using a Custom Authentication Provider could cause a memory leak if the code is not destroying objects correctly.
- Have you reviewed the logs in the c10_location/logs
directory and the audit logs?
They may help you identify the source of the problem. Monitoring your processes, such as the Java™ and Business Intelligence bus processes could also identify excessive memory use.
- Is your environment tuned correctly?
For more information, see the Performance Tuning Settings for IBM Cognos 8 Business Intelligence and the IBM Cognos 8 Business Intelligence Performance Tuning Cheat Sheet documents.
- Have you recently upgraded?
Ensure that any tuning settings that were applied to your previous installation are applied to the new environment. Ensure that your models have been verified, upgraded, and republished. Verify that the IBM Cognos Framework Manager governor that allows enhanced model portability at runtime is not enabled. Depending on your upgrade method, you may also need to open and save the reports again after upgrading.
The following tips may help you improve report performance.
- Change the order in which items are queried from the database. For more information, see Working with Relational Queries or Working with Dimensional Queries.
- Create sections without creating master detail relationships. For more information, see Divide Data into Sections.
- Share queries between lists and repeaters.
You can share an identical query between data containers that use it. To share a query, data containers must be lists, repeaters, or repeater tables and must use the same grouping structure and list of properties. The data containers cannot be part of a master detail relationship. Sharing queries improves performance by minimizing the number of queries executed against the database.
To share a query, set the Share Result Set property for the data container to Yes.
- Convert queries to SQL. For more information, see Convert a Query to SQL for relational reporting or Convert a Query to SQL for dimensional reporting.
- Avoid using functions with limited support, as indicated by the quality of service indicators. For more information, see Insert a Query Calculation for relational reporting or Quality of Service Indicators for dimensional reporting.
- Be aware of the limitations of creating expressions with SAP BW data sources. For more information, see Using Microsoft Excel Functions with SSAS 2005 Data Sources.
- Use Select & Search prompts instead of value prompts if your list of prompts is long. For more information, see Build Your Own Prompt and Prompt Page.
- Provide your own prompt values in a prompt to avoid accessing the database. For more information, see Specify Prompt Values.
- Suppress null cells using filters. For more information, see Suppress Null Cells Using Filters.
- Set page breaks without creating master detail relationships. For more information, see Page breaks, page sets, and page layers.
- Do not modify IBM Cognos Analysis Studio set definitions. For more information, see Analysis Studio Query Specification.
- Do not put filters on non-identifiers.
- Avoid combining large hierarchy levels and sets in a drill-through report in a way that creates large queries. For more information, see Recommendation - Drilling Down in Very Large Data Sources.
- Use database functions when possible. For more information, see Using the expression editor.
- Use fixed width objects in PDF reports by setting their Size & Overflow properties. For more information, see Set List Properties, Set Crosstab Properties, Customizing Chart Properties, or Set Map Properties.
The following are Proven Practices (www.ibm.com) documents that may help you improve your report performance.
- Performance Tuning Settings for IBM Cognos 8 Business Intelligence
- IBM Cognos 8 Business Intelligence Performance Tuning Cheat Sheet
- Writing Efficient OLAP Queries
- Cognos 8 Business Intelligence (BI) on IBM AIX® best practices
- IBM Cognos ReportNet and Java Heap
The IBM Cognos Business Intelligence Installation and Configuration Guide also includes a section on performance maintenance.