You are on page 1of 17

Multiple Cognos instances in one server

(Performance Tuning)
-Suraj Neupane (Consultant @ Denver Water)

Performance Tuning
Most important aspect after data integrity (sometimes before). Various approaches to tuning: Tune parameters in Cognos server. Report/model: Prompts; Union; Calculations; graph/text; drill etc. Use tools and features within Cognos: schedule/cube/shared drive. Database/ETL: Aggregate tables; other apps against the same db. Use features from third party apps: Tidal scheduler, BSP etc. Hardware upgrade: License; cost. Application upgrade: License/deprecated/new features; training. Add instances of application. (Results may vary). This presentation focuses on adding reporting instances.
Not multiple instances of different versions such as C8 and C10. Its opposite of distributed installation.

Report Service Tuning

Things to keep in mind depending upon setup: a. High Affinity connections: 1 per process b. Low Affinity connections: 4 per process c. Maximum number of processes: 2 per processor Maximum RAM two instances can use with 4 CPU: 20gb
2 X BIBus = 4gb X 2 for RS = 8gb 2 X BIBus = 4gb X 2 for BRS = 8gb Java processes: up to 2gb each.

Set peak periods (eg. 7am-6pm).

(Note: Refer to Administration guide for other tuning settings).

Cognos Architecture

Services in a dispatcher
Each dispatcher adds associated Cognos services as mentioned below:
Agent service CM service Graphics service Index update Annotation service Data movement Human Task Job service BRS Delivery service Index data service Log service CM cache service Event Management Index search service Metadata service

Metric Studio service Query service


Migration service
Powerplay service

Monitor service

Presentation System service

Report data service Report service

Expectation from additional instances

Work around OS Stack memory constraints of 2gb per running process.
(Note: system needs enough physical memory cache for this method)

Take the most out of underutilized resources. Load balance requests with multiple dispatchers. Report level processing with additional Cognos services. Overall, improve performance utilizing existing resources.

Analyze current setup

Licensing Model: Named vs PVU.
Named licensing model (old) can use additional hardware that is a better option than adding instances. Adding instances is recommended for PVU licensing model. [Note: Always consider license compliance before changes.]

Current application load on server

Current CPU and RAM utilization.

Analyze current setup

Is current setup working as expected?
- Create performance log files and monitor CPU usage trend.
- Do not implement if the usage is consistently over 80%

- Check logs for errors, monitor performance.

Server errors appear even after tuning as per IBM recommendations. 7448 2011-01-26 15:47:10.385 -7 Failed to run task [com.cognos.monitor.tse.BiBusRunContext taskID=BD1ABFCF70597059012D4D6BB3B081360012dc47f91b1].

Error is: DPR-ERR-2056 The Report Server is not responding.

One of the famous error is Server did something wrong.


Analyze current setup

Check background jobs for Pending status during scheduling window.

Implementation Process
Install Application Tier Components for new instances in new directory.
Do not install Gateway, Content Manager and Cognos Content Database.


Implementation Process
Configure Cognos services for 2nd instance:
Configure log server, shutdown and dispatcher URI with different port numbers than original Cognos configuration.

Apply all the custom modifications to the 2nd instance (Important!). Stop original Cognos services and add dispatcher URI from 2nd instance.

Save configuration and start both instances of Cognos services. Tune both instances same (logging, tuning etc.) in Cognos administration. Restart both Cognos services after tuning is complete. [Note: Refer to Administration guide for additional details]

When the implementation is complete, multiple dispatchers with different port numbers exist in Cognos administration window.


How to verify if the load balancing is working? Run reports and check requests received in both dispatchers. The report service requests should be divided between the two dispatchers. The numbers may not be exactly same but should be close enough.
Example: After 1.5 months:

Monitor performance as the results may not be as expected that requires additional tuning.

Results from our implementation

Existing reports/jobs/schedules are working as before; some have better performance. Report server is not responding error reduced.

Job schedules do not get stuck in Pending status.

The server has become more stable and efficient. - Less restarts due to jobs not pending anymore.


Dependencies with external apps

Analyze the implication for external applications such as Tidal scheduler, BSP Metamanager etc. before and after implementation.
- Number of job services/connections configured in external applications may need modification due to new tuning parameters in Cognos dispatchers.


Check IBM license before any work on Cognos server. Analyze existing setup for bottleneck. Add instances of reporting services to allow better use of underutilized hardware. Monitor performance after implementation. Experience may vary depending upon server configuration/resources.


Disclosure and Q & A

Implement this method at your own discretion. If you have similar setup, please provide configuration settings that worked best. Feedback/comments? Feel free to email me: 720-432-8842 Find me @ Cognoise, Experts-Exchange, ittoolbox & IBM Cognos forums.

Thank You