Professional Documents
Culture Documents
Copyright
Copyright © 2008 Cognos ULC (formerly Cognos Incorporated). Cognos ULC
is an IBM Company. While every attempt has been made to ensure that the
information in this document is accurate and complete, some typographical
errors or technical inaccuracies may exist. Cognos does not accept
responsibility for any kind of loss resulting from the use of information
contained in this document. This document shows the publication date. The
information contained in this document is subject to change without notice.
Any improvements or changes to the information contained in this document
will be documented in subsequent editions. This document contains
proprietary information of Cognos. All rights are reserved. No part of this
document may be copied, photocopied, reproduced, stored in a retrieval
system, transmitted in any form or by any means, or translated into another
language without the prior written consent of Cognos. Cognos and the
Cognos logo are trademarks of Cognos ULC (formerly Cognos Incorporated)
in the United States and/or other countries. IBM and the IBM logo are
trademarks of International Business Machines Corporation in the United
States, or other countries, or both. All other names are trademarks or
registered trademarks of their respective companies. Information about
Cognos products can be found at www.cognos.com
This document is maintained by the Best Practices, Product and Technology
team. You can send comments, suggestions, and additions to
cscogpp@ca.ibm.com .
Contents
1 IBM COGNOS 8 PERFORMANCE TUNING SETTINGS..................................... 4
1.1 SERVER ADMINISTRATION (IN IBM COGNOS CONNECTION) ...............................................4
1.2 HOW DO I MAKE CHANGES TO A IBM COGNOS 8 ENVIRONMENT? .........................................4
Making Changes at the Global IBM Cognos 8 Environment Level: .......................................4
1.3 MAKING CHANGES AT THE IBM COGNOS 8 DISPATCHER LEVEL: ..........................................6
2 MAKING CHANGES AT THE IBM COGNOS 8 SERVICES LEVEL: ..................... 9
2.1 WHAT AND WHY I SHOULD TUNE FOR OPTIMAL PERFORMANCE AND SCALABILITY? ...................9
3 APACHE TOMCAT......................................................................................... 12
APPENDIX A: REQUESTS BY AFFINITY TYPE ........................................................ 14
In a distributed topology, you will have 2 or more servers and each server will
have a dispatcher and a subset of IBM Cognos 8 services (such as a
ReportService, etc).
In a distributed topology, you will have 2 or more servers and each server will
have a dispatcher and to manage the request flow of your IBM Cognos 8
application. The dispatcher is responsible for routing requests to the services
configured on a particular IBM Cognos 8 server.
You can elect to make changes for a particular IBM Cognos 8 server and
override those settings configured at the Global environment level (See
“Making Changes at the Global IBM Cognos 8 Environment Level” section.
Settings icon
IBM Cognos 8 Server list box
Note – I would still want all my other servers to be configured with 4-way
capacity. Changing the settings at the IBM Cognos 8 server level will
maintain all the other settings while tuning the 8-way accordingly.
There are 11 services that can be tuned and are listed as follows:
• AgentService
• BatchReportService
• ContentManagerService
• DeliveryService
• EventManagementService
• JobService
• MonitorService
• PresentationService
• ReportService
• SystemService
Adjusting for peak vs. off-peak usage may benefit from changing the
properties for:
• ReportService - used for interactive usage (user driven, on-demand)
• BatchReportService - used for scheduled operations
• JobService and DeliveryService – use in relationship to the
BatchReportService
Before specific IBM Cognos 8 performance tuning settings are discussed, it is
important to understand the purpose of several key concepts. At this point,
we need to understand the nature of request affinity connections:
A high affinity requests is one that can be executed on any report server but
would be most efficiently executed on a specific report server - page down on
an interactive report is a great example of this. If the same report server is
used, we scroll the existing database cursor and render the page. If another
report server is used the query would have to be re-run to perform the
action.
A low affinity request is one that can be completed with the same efficiency
by any report server - running a report is a great example. Low affinity
requests will be balanced across the available IBM Cognos 8 server (i.e.
across the computers running IBM Cognos 8).
There are also absolute affinity requests. These are requests that can only be
executed by a given report server - cancel report execution is a great
example of this. You can only cancel a report on the server running it. By its
very nature, absolute affinity requests are just that – absolute, therefore
tuning parameters for this type of request are not exposed in IBM Cognos 8
to avoid redundancy.
The following will discuss settings specific to the Report and Batch Report
services.
Based on testing with IBM Cognos 8, a good starting point for high affinity
connection handling is to set the “high affinity” connections setting to 1. For
more information about affinity connections, please see Appendix A – List of
Affinity Connections.
Note – This value is a “per process” setting. See the “Maximum Report
Service Processes” section.
Based on testing with IBM Cognos 8, a good starting point for low affinity
connection handling is to set the “low affinity” connections setting to 2. For
more information about affinity connections, please see Appendix A – List of
Affinity Connections.
Note – This value is a “per process” setting. See the “Maximum Report
Service Processes” section.
For the Report Service, the queue time limit refers to the maximum amount
of time that a request will wait for a report service connection when all
connections are in use. The request will be queued until a connection is
available, or up to the configured number of seconds dictated by the queue
time limit setting. If no connection is available within the configured time
limit, the user will be notified that the request cannot be completed because
no resources are available within the given time constraints.
In general, recent lab testing of IBM Cognos 8 has indicated that report
servers are optimized when the requests are spread across multiple processes
not concentrated all on a single process – more processes with fewer
connections performs better than a small number of report processes with
many connections. If the system is not being fully utilized, add more
processes before adding additional connections within a process.
The following will discuss settings specific to the Job and Scheduling
service. The Job and Scheduling service is directly related to the Batch
Report service and should be considered in tandem:
Given a quad processor report server and the maximum set to 8, set this to 8
x 2 = 16 jobs.
3 Apache Tomcat
• For additional settings with respect to Apache Tomcat, you can adjust the
“coyote” settings in the server.xml file. Internal testing has
indicated that setting the maxProcessors setting to 1000 connections
instead of the default 800 may be advantageous to performance and
scalability. This will determine the number of available threads that can be
handled by the Apache Tomcat process. Also, changing the acceptCount
from 100 to 500 is recommended.
Before:
After:
Absolute Affinity:
•getOutput
•release
•wait
High Affinity:
•back
•email
•firstPage
•forward
•lastPage
•nextPage
•previousPage
•print
•render
•save
•saveAs
Low Affinity:
•add
•collectParameterValues
•execute
•getMetadata
•getParameters
•query
•testDataSourceConnection
•update
•validate
High affinity would accept absolute and high affinity requests only. Low
affinity connections would accept all report service requests
The "cancel" operation is treated especially since we have connections for
cancels only. Think of it as a special case of absolute affinity.