Tuning Microsoft Windows 2008 Server and IBM Information Server for good performance by the DataStage server and parallel engines.

Technote (troubleshooting)


Problem(Abstract)

On Microsoft Windows 2008 Server, you can take steps to tune the IBM InfoSphere Information Server engines to achieve good performance. You can also make adjustments to the operating system.

Resolving the problem

You can make adjustments in the following areas:

  • Tuning the server engine
  • Configuring the parallel engine by editing the Windows Registry and changing system settings

Tuning the server engine for a large number of users or jobs (Windows Server 2008)

For systems that have large numbers of simultaneously connected users, or large numbers of simultaneously running jobs, configure the server engine to support the number of open files, lock table entries, and locks that are necessary for correct engine operation.

Before you begin
  1. Back up the uvconfig file. By default, the uvconfig file is located in the following directory: C:\IBM\InformationServer\Server\DSEngine.
  2. Ask all users to log out of InfoSphere DataStage and stop all IBM InfoSphere DataStage jobs.

About this task

For new installations of IBM InfoSphere Information Server, change the settings if you are configuring production systems that have large numbers of simultaneously connected users or large numbers of simultaneously running jobs.

For existing installations, change the settings if you encounter resource problems while running InfoSphere DataStage jobs.

Procedure

1. Verify that no InfoSphere DataStage jobs or osh.exe processes are running on the server and that no connections are active:
a) From the Microsoft Windows Task Manager, click the Processes tab, and then click the Image Name column to sort the process list by name.
b) Verify that the Show processes from all users check box is selected.
c) In the list of processes, verify that the following processes are not running: uvsh.exe and osh.exe. If these processes are not running, there are no InfoSphere DataStage jobs running on the server.
d) In the list of processes, verify that the following processes are not running: dsapi_server.exe and dsapi_slave.exe. If these processes are not running, there are no active InfoSphere DataStage connections.

2. Stop the InfoSphere Information Server engine.
a) Open the Windows Control Panel
b) Right click on the DataStage (32 bit ) icon and select “Run as Administator”
c) If you see a dialog with the questions: “Do you want to allow the following program to make changes to this computer”, click “Yes”
d) In the DataStage Control Panel, click “Stop All Services” and click “yes” when you see the question: “This will stop all DataStage services. Do you want to continue”
e) After the services stop, click “OK” to close the control panel dialog box.

3. Use a text editor to edit the uvconfig file. By default, the uvconfig file is located in the following directory: C:\IBM\InformationServer\Server\DSEngine.

Modify the following settings to the noted values:
MFILES 200
T30FILE 1024
RLTABSZ 300
MAXRLOCK 299

4. Save the uvconfig file . The uvconfig file cannot have a file extension.

5. Regenerate the DSEngine configuration.
a) On the Windows Start menu, right click on the Command Prompt icon and start a command shell with Administrator privileges.
b) Change to the directory that contains the uvconfig file.
For example, change to the following directory:
cd C:\IBM\InformationServer\Server\DSEngine
c) Issue the following command to regenerate the binary uvconfig file:
bin\uvregen.exe
You see a message similar to this message:
uvregen: reconfiguration complete, disk segment size is 26335752
d) Exit the shell

6. Restart the DataStage services using the DataStage Control Panel


Configuring the parallel engine (Windows Server 2008)

You can configure the parallel engine for Microsoft Windows Server 2008 by editing the Windows Registry and by changing system settings that control available memory. The Windows Registry includes keys that control desktop heap size, swap area size, the number of available TCP connections, and memory management.

About this task

Perform these steps to configure the parallel engine on high-capacity production systems.

Enable auto-tuning for paged pool size
  • If the parallel engine is installed on a computer that runs Microsoft Windows Server 2008, Standard or Enterprise edition, enable auto-tuning for the paged pool size. Enabling auto-tuning ensures that sufficient memory is available for paged pools.
Enable auto-tuning for system page size
  • If the parallel engine is installed on a computer that runs Microsoft Windows Server 2008, Standard or Enterprise edition, enable auto-tuning for the system page size. Enabling auto-tuning ensures that sufficient memory is available for page tables and page table entries.
Increasing the noninteractive desktop heap size
  • If the parallel engine is installed on a computer that runs Microsoft Windows Server 2008, Standard or Enterprise edition, increase the noninteractive desktop heap size to improve performance.
Specifying TCP/IP settings
  • If the parallel engine is installed on a computer that runs Microsoft Windows Server 2008, Standard or Enterprise edition, specify settings for TCP/IP in the Windows Registry to ensure that the required number of parallel processes can run concurrently.
Change the swap area size
  • If the parallel engine is installed on a server that runs Microsoft Windows 2008, Standard or Enterprise edition, change the size of the swap area to improve performance.

Configuring the Windows Registry: Enabling auto-tuning for paged pool size

When the parallel engine is installed on a computer that runs Microsoft Windows Server 2008 R2, Standard or Enterprise edition, enable auto-tuning for the paged pool size. Enabling auto-tuning ensures that sufficient memory is available for paged pools.

Before you begin
  1. Log in to Windows Server 2008 as an Administrator.
  2. Start the Registry Editor, and back up the Windows Registry. If you plan to make several changes (for example, to configure the parallel engine), create a single backup before you make all the changes.

About this task

The Windows Server 2008 kernel allocates memory in pools. These pools are known as the paged pool and the non-paged pool. Performance degradation and server instability can result if the memory for these pools is exhausted. To avoid this situation, you can enable auto-tuning at server startup by editing the PagedPoolSize registry value in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management registry subkey.

Procedure

1. In the Registry Editor, select the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

2. In the right pane of the Registry Editor, right-click PagedPoolSize, and click Modify.

3. In the Base area, select Hexadecimal.

4. In the Value data field, specify 0 (zero). If 0 is already specified, auto-tuning is enabled, and you do not need to change this value. If you must specify a value other than 0, the value data for SystemPages must be 0.

5. Click OK.

What to do next

After you make changes to the Windows Registry, restart Windows to apply your changes. If you plan to make several changes (for example, to configure the parallel engine), make all changes before you restart Windows.


Configuring the Windows Registry: Enabling auto-tuning for system page size

When the parallel engine is installed on a computer that runs Microsoft® Windows® Server 2008, Standard or Enterprise edition, enable auto-tuning for the system page size. Enabling auto-tuning ensures that sufficient memory is available for page tables and page table entries.

Before you begin
  1. Log in to Windows Server 2008 as the Administrator.
  2. Start the Registry Editor, and back up the Windows Registry. If you plan to make several changes (for example, to configure the parallel engine), create a single backup before you make all the changes.

About this task

To support virtual to physical address translation, the Windows operating system uses page tables and page table entries (PTEs). These tables reside in kernel memory. If not enough memory is allocated for the page tables, Windows might fail to create processes, threads, and I/O buffers. Because the parallel engine creates many processes to run a job, jobs fail at startup or during run time if Windows does not have enough resources to create processes.

You can enable auto-tuning at server startup by editing the SystemPages registry value in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management registry subkey.

Procedure

1. In the Registry Editor, select the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

2. In the right pane of the Registry Editor, right-click SystemPages, and click Modify.

3. In the Base area, select Hexadecimal.

4. In the Value data field, specify 0 (zero). Typically, specifying 0 for this value provides sufficient memory. If the available PTEs are exhausted, however, you can specify the maximum value, 0XFFFFFFFF. If you must specify a value other than 0, the value data for PagedPoolSize must be 0.

5. Click OK.

What to do next

After you make changes to the Windows Registry, restart Windows to apply your changes. If you plan to make several changes (for example, to configure the parallel engine), make all changes before you restart Windows.


Configuring the Windows registry: Increasing the noninteractive desktop heap size

If the parallel engine is installed on a computer that runs Microsoft® Windows® Server 2008 R2, increase the noninteractive desktop heap size to improve performance. Note that some aspects of desktop heap management are automatic in Windows 2008, but setting the noninteractive desktop heap size still makes a difference.

Before you begin
  1. Log in to Windows Server 2008 as an Administrator.
  2. Start the Registry Editor, and back up the Windows Registry. If you plan to make several changes (for example, to configure the parallel engine), create a single backup before you make all the changes.

About this task

IBM® InfoSphere™ DataStage® processes are created in a specific desktop heap. Each process consumes a small amount of memory from the desktop heap. If you expect to run many InfoSphere DataStage jobs concurrently, increase the size of the noninteractive desktop heap to allow more processes to be created and run concurrently.

You increase the size of the noninteractive desktop heap by editing the SharedSection parameter string in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems registry subkey. The SharedSection parameter string is located in the Windows registry value and uses the following format to specify heap size:

SharedSection=xxxx,yyyy,zzzz

Where:

· xxxx specifies the maximum size of the system-wide heap (in kilobytes)
· yyyy specifies the size of each desktop heap
· zzzz specifies the size of the desktop heap that is associated with a noninteractive Windows station

If the SubSystems registry subkey does not contain an entry for Windows, follow these steps to create one:

1. From the Edit menu, select New > Expandable Value String.

2. In the Value field, enter Windows.

3. Right-click on Windows to display the Edit String dialog box.

4. Enter this string into the Value field: %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,2048 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16

Procedure

1. In the Registry Editor, select the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems

2. In the right pane of the Registry Editor, right-click the Windows registry value, and click Modify.

3. In the Value data field, locate the SharedSection parameter string, and change the last SharedSection parameter from 512 to 2048. For example, specify the following values for this parameter:
SharedSection=1024,3072,2048

If you cannot change the size of the desktop heap to 2048, try setting the value to 1024. For example, specify the following values for this parameter:
SharedSection=1024,3072,1024

4. Click OK.

What to do next

After you make changes to the Windows Registry, restart Windows to apply your changes. If you plan to make several changes (for example, to configure the parallel engine), make all changes before you restart Windows.


Configuring the Windows registry: Specifying TCP/IP settings

If the parallel engine is installed on a computer running Microsoft® Windows® Server 2008, Standard or Enterprise edition, specify settings for TCP/IP in the Windows Registry to ensure that the required number of parallel processes can run concurrently.

Before you begin
  1. Log in to Windows Server 2008 as an Administrator.
  2. Start the Registry Editor, and back up the Windows Registry. If you plan to make several changes (for example, to configure the parallel engine), create a single backup before you make all the changes.

About this task

You specify TCP/IP settings by editing the following registry values in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters registry subkey:

MaxUserPort - Specifies the maximum port number for ephemeral TCP ports.

TcpNumConnections - Specifies the maximum number of concurrent connections that TCP can open. This value significantly affects the number of concurrent osh.exe processes that are allowed. If the value for TcpNumConnections is too low, Windows cannot assign TCP ports to stages in parallel jobs, and the parallel jobs cannot run.

These keys are not added to the registry by default.

Procedure

1. In the Registry Editor, select the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

2. Specify the following registry values: MaxUserPort, TcpTimedWaitDelay, and TcpNumConnections.
a) If the registry value does not exist, click Edit > New > DWORD Value, and type the name of the registry value.
b) In the right pane of the Registry Editor, right-click the registry value, and click Modify.
c) In the Base area, select Decimal.
d) In the Value data field, specify the following values:
Registry value name· Value data· Valid range·
MaxUserPort· 65534· 5000-65534 (decimal)·
TcpTimedWaitDelay 30 30 - 240 (decimal)
TcpNumConnections· 65534· 0 - 0xfffffe (65534 decimal)·

3. Click OK.

What to do next

After you make changes to the Windows Registry, restart Windows to apply your changes. If you plan to make several changes (for example, to configure the parallel engine), make all changes before you restart Windows.


Configuring Windows: Changing swap area size

If the parallel engine is installed on a server that runs Microsoft® Windows® 2008, Standard or Enterprise edition, change the size of the swap area to improve performance.

Before you begin

Log in to Windows Server 2008 as Administrator.

Procedure

1. Click Start > Control Panel > System.

2. In the Control Panel\All Control Items\System window, note the amount of installer memory and then click the “Advanced system settings” icon .

3. In the System Properties panel area, select “Advanced” tab and then.
click the “Settings” button in the “Performance” area.

4. In the Performance Options window, select the Advanced tab.

5. In the “Advanced” tab, , click the “Change” button in the Virtual Memory area.

6. In the Virtual Memory window, click the “Custom Size” option and then specify a value for the Initial and Maximum sizs. Set this value to be one to
one-and-a-half times that of physical memory.( This should be the Recommended Size.)

7. Click Set.

8. Click OK three times, and then close the Control Panel window.

What to do next

After you change the size of the swap area, restart Windows to apply your changes.

Rate this page:

(0 users)Average rating

Document information


More support for:

InfoSphere DataStage

Software version:

8.5, 8.7, 9.1

Operating system(s):

Windows

Software edition:

Edition Independent

Reference #:

1591294

Modified date:

2013-10-17

Translate my page

Machine Translation

Content navigation