Terminal Services installation guide

Machines running SAP GUI Virtual Users may be limited in the number of Virtual Users they can run, due to the graphic resources available to that machine.

You can generate a higher number of Virtual Users on high-end servers (high CPU, high memory) by using several Remote Desktop Services sessions on the same machine.

NeoLoad can remotely start as many Windows sessions as required on each Windows Server used as Load Generator. Each Windows session automatically starts a Load Generator process which is automatically added to the list of available Load Generators for the zone.

For more information, see Terminal Services.

This document describes how to install and configure Load Generators in Terminal services mode on a Windows Server and use them in a Controller.

Prerequisites

The following elements are necessary on the Windows Server:

Allow multiple Remote Desktop sessions per user
  1. Launch the Registry Editor.
  2. In the Registry Editor go to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer.
  3. On selecting the TerminalServices Registry, you can see the fSingleSessionPerUser registry key on the right panel. If the key is not available then create a new key by right clicking TerminalServices and selecting New > DWORD.
  4. Double click the fSingleSessionPerUser key . Change the value from "1" to "0". The value "1" means single session for each user and "0" means multiple sessions for each user.
  5. Click OK to validate the settings.

Allow remote start of unlisted programs
  1. Launch the Registry Editor.
  2. In the Registry Editor go to HKEY_LOCAL_MACHINE\ SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services.
  3. On selecting the TerminalServices Registry, you can see the fAllowUnlistedRemotePrograms registry key on the right panel. If the key is not available then create a new key by right clicking TerminalServices and selecting New > REG_DWORD.
  4. Double click the fAllowUnlistedRemotePrograms key . Change the value from "0" to "1".
  5. Click OK to validate the settings.

  1. Launch the Registry Editor.
  2. In the Registry Editor go to HKEY_LOCAL_MACHINE\ SOFTWARE\\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList.
  3. On selecting the TSAppAllowList Registry, you can see the fDisabledAllowList registry key on the right panel. If the key is not available then create a new key by right clicking TerminalServices and selecting New > REG_DWORD.
  4. Double click the fDisabledAllowList key . Change the value from "0" to "1".
  5. Click OK to validate the settings.

Install a Load Generator Agent on a Windows Server
  1. Install a Load Generator Agent x86 on the Windows Server using NeoLoad_6_7_0_windows_x86.exe in the default installation folder. Do not install the service and do not run it after installation.
  2. Edit the agent.properties file in <install-dir>/conf/agent.properties: In the [LoadGenerator] section, set the lg.start.delay key to "60000".
Install the Controller

Before launching the Controller, it must be configured for use with the Load Generators in Terminal Services mode.

  1. Install a Controller x64 using NeoLoad_6_7_0_windows_x64.exe.
  2. Edit the controller.properties file in <install-dir>/conf/controller.properties: In the [Runtime] section, set the engines.init.pool.size key to "4".
Use the Terminal Services mode in the Controller

For more information about how to use the Terminal Services mode with the NeoLoad Controller, see Terminal Services.

Advanced configuration

To customize the RDP launched by NeoLoad, when you tried at least once to launch the RDP from NeoLoad, select Help>Open Logs Folder, then select the "conf" folder in Windows explorer. Finally you can see and edit the terminal-services-template.rdp file.

In the [Terminal Services] section of the "controller.properties" file, the behavior of the Terminal Services feature can be configured on Controller side.

The table below identifies the keys to be edited according to the behavior expected.

Key

Behavior

terminal.services.rdp.launching.parrallel.count=4

When launching RDP on client, this is the number of RDPs launched in parallel.

terminal.services.rdp.launching.delay=15000

When launching RDP on client, this is the delay in "ms" between two RDPs launch.

terminal.services.rdp.remote.check.delay=7000

When launching RDP on client, this is the delay to refresh the sessions opened on server side.

terminal.services.polling.start.port=7101

When binding sessions, this is the starting port for the range of polling.

terminal.services.polling.range=50

When binding sessions, this is the range from the starting port, so by default it will scan 7101-7151 ports.

terminal.services.polling.parallel.count=20

When binding sessions, this is the number of ports scanned in parallel.

terminal.services.polling.delay=7000

When binding new sessions, this is the delay in "ms" between two ranges scan.

terminal.services.rdp.disconnect.parrallel.count=10

When stopping sessions, this is the number of sessions stopped at the same time.

terminal.services.remote.command.timeout=60000

For any command executed remotely on the server, this is the general timeout in ms.