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

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:

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.

Tule 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

www.cogknowhow.com