Rule of thumb:

Product:

IBM Cognos BI 10.1.1 64 bit version.

Microsoft Windows 2008 R2 standard server

with 24 GB of RAM and total of 8 cpu cores

(with hyper treading on it looks like 16 cpu cores in windows task manager)

Symptom:

How do I improve the Windows server for my Cognos BI solution ?

In most cases the Microsoft Windows server default values will do fine, but for some heavy loaded Cognos BI system you can gain better effect with this values.

 

Recommendation:

(There are other settings that also will help out)

Change the maximum memory in MB to 6000 for IBM Cognos Configuration Resource Properties. This is found in Cognos Configuration on the BI server.

Standard value is 768, but on a 64 Bit Windows server with more memory this should be increased.  But not above total memory in server. The new Cognos BI 10.1.1 uses more memory for the JAVA and DQM functions than earlier versions. Also the new Cognos BI 10.1.1 64 bit version can handle more memory. By default, the IBM Cognos service is configured to use minimal memory resources to optimize startup time.

 

The value Set the maximum memory used by the JVM.

Usually, the memory is set by adding or changing the initial and maximum Java heap size.

 

The JAVA heap size used by the Query service is set from cognos connection admin portal now.

Go to Administer Cognos Content

Go to configuration – dispatcher

Click on the dispatcher e.g. server name in the list

Click on the MORE for the Query service

Click on set properties

Click on settings

Change the value for JVM heap size limit for the query service (MB) to 4096.

Click OK


Logging

Logging for a production environment needs to be set to Basic level.

Check this by go to cognos connection

Launch Cognos Administration

Click on configuration and on dispatcher

Click on MORE for the BI server you want to check

Click on set properties

Click on settings

Change category to logging

Check that all values are set to BASIC

 

Ensure that there is no mark for:

Audit the native query for batch report service

Audit the native query for report service

 

After you changed any value click OK to save the change.


TCPIP ports

The following registry keys need to be set on all Windows Server that host Cognos BI components. These will increase the number of available sockets, as well as reduce the time for the Windows OS to free sockets up, once they are not in use anymore.

After the change a reboot is required for the Windows server.

 

Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters

Add key: MaxUserPort

use Dword

Set Decimal to 65536

Add key: TcpTimedWaitDelay

use Dword

Set Decimal to 30

Only change in registry if you know how to do it with the REGEDIT program.


Add the following CM advanced parameter to Content Manager:

CAMSEARCHDEFERREDLOCKING = true

 

This parameter will ensure that not the whole authentication namespace gets locked by 1 user when it comes to complex, long running queries against the authentication source.

 

Surf to Cognos Connection

Launch Cognos Administration

Click on status and on system

Click on CM server

Click on the CM server dispatcher to get a list of all services

Click on arrow for ContentManagerServer and select set properties

Click on settings

Click on EDIT for Environment  Advanced settings

Mark Override the settings acquired from the parent entry

Now you get a grid to enter new values.

Enter CAMSEARCHDEFERREDLOCKING in left column.

Enter True in right column.

Click OK.

Click OK


Cognos TOMCAT

Making sure that Tomcat does not run out of threads under load.

open up the following file in notepad:

<c10 location>\tomcat\conf\server.xml

Look for the following line:

 

<Connector port=”9300″ protocol=”HTTP/1.1″

                   maxThreads=”500″

                   enableLookups=”true”

                   redirectPort=”9443″

                   acceptCount=”500″

                   debug=”0″

                   connectionTimeout=”60000″

                   disableUploadTimeout=”true”

                   maxHttpHeaderSize=”16384″/>

 

Change it as follows:

<Connector port=”9300″ protocol=”HTTP/1.1″

                   maxThreads=”1000″

                   enableLookups=”true”

                   redirectPort=”9443″

                   acceptCount=”1000″

                   debug=”0″

                   connectionTimeout=”60000″

                   disableUploadTimeout=”true”

                   maxHttpHeaderSize=”16384″/>

 

maxThreads=”1000″ and acceptCount=”1000″ is increased on system for many users.

Save the file and restart the Cognos BI service to make the changes take affect.


Change Number of report processes / low affinity connections in cognos connection to use more of the hardware with Cognos BI. Recommendation is to lower Number of low affinity connections for the report service during peak period to 2 from default 4.

 

Rule of thumb:

2 report processes per core, with 2 low affinity each = 16 processes * 2 low affinity = 32 low affinity in total.

 

On a combined GW / report server, reduce this to 1 process per core, with 2 low affinity each = 8 processes * 2 low affinity = 16 low affinity in total.

For our exampel server with 8 cpu cores then the settings should be on a pure report server, set the number of processes to 16, and the number of low affinity connections to 2.

On a combined GW / report server with 8 cpu cores, set the number of processes to 8, and the number of low affinity connections to 2.

 

So you need to increase the value for “Maximum number of processes for the report service during peak period” in most modern servers.

Go to Cognos Connection

Click on status and on system

Click on BI report server

Click on arrow for the BI server and select set properties

Click on settings

Change category to tuning

Go to “Maximum number of processes for the report service during peak period”

by click on the arrow in top right of screen.

Set Maximum number of processes for the report service during peak period

to 16.

Above you find “Number of low affinity connections for the report service during peak period”

Set Number of low affinity connections for the report service during peak period

to 2.

Click OK

 

On the first page for category tuning settings:

Go to “Queue time limit of the report service (seconds)”

Change the value for Queue time limit of the report service (seconds)

from 240 to 360, to allow more time to collect data from data layer to the report.

Click OK

Do not change the other values for non-peak period from default settings.

Do the same changes for all the Cognos BI servers.