Manage Tests: Load Testing

Overview

Load Tests are designed to simulate multiple active users all running concurrently, to determine the point at which an additional user would impact existing users noticeably. Login Enterprise will launch multiple sessions on Target machines in parallel, ramping up to a specific number of sessions, Each of those sessions will run the defined Application scripts in a repeating loop for the duration of the Test. By default, it includes the EUX data collection phase and tries to calculate a VSImax number for your Test configuration.

Load Tests are not schedulable. They must be manually started, either through the Login Enterprise sidebar menu > Manage Tests > Load Test or by making an API call. However, they require a real Connector and do not support the manual Desktop Connector. Load Tests need to be in control of session initiation to control and measure multiple sessions properly.

Load Tests will then perform the following sequence of actions:

  • Ramp up sessions based on your total number of desired logins and the number of minutes you allot to launch them. For instance, 5 users in 8 minutes would launch a new user every 2 minutes (because you always launch one at 0 minutes).
  • Once all the sessions have been launched, start counting towards the Test duration configured in the Test. (If a session fails, it is not replaced.)
  • Within each session, repeat the Application script test sequence in a continuous loop until the Test duration has been met.
  • If configured, periodically run our EUX Applications to generate and measure an approximation of what a user will experience. Also, capture any Application script timers and other Session Metrics.
  • When the overall Test Duration has been met, signal all the sessions to terminate. They will terminate after the current Application script.

When you look at a Load Test, you will see a chart that shows your login sessions ramping up, and how your recorded metrics behave as your number of sessions increases. What you’re looking for are points in the curve where your metrics start to drop off as your sessions ramp up. For more information, see Load Testing: Results and comparison.

Note that Login Enterprise doesn’t enable alert thresholds or emails for Load Tests, since these types of tests are intended to be run manually, not as a Continuous background Test.

Creating a Load Test

  1. In the Sidebar menu, navigate to Configuration > Manage Tests, and select Load Tests.

Frame 100.png

2. In Load Tests, click “+“ on the top-right.

Frame 69.png

3. In the Info window, specify the following:

a. Name - a descriptive name for this Load Test configuration. This name should identify the purpose or scenario of the Load Test.
b. Description - a brief description that outlines the objectives or specifics of this Load Test configuration. This helps users understand the purpose and context of the configuration.
c. Environment (Optional) - the target environment where the Load Test will be conducted. This could include details such as server configurations, network setups, or any other relevant infrastructure information.
d. Connector - the appropriate connector that will be used to simulate the load on the target system. The connector defines how virtual users interact with the system under Test.

Frame 74.png

Each Connector has its own settings. Once you define your connector, specify the necessary information in the Settings section. Here’s an example of Connector settings for the Microsoft RDS:

Frame 73.png

4. Click Save to apply the changes.

When you delete a Load Test, only the test definition itself is removed. Your existing historical Load Test runs and their associated data will continue to be visible on your Results page. However, if you delete a Load Test run, you will remove all associated data, including measurements, screenshots, logs, and events.

Configuring Load Test settings

For the Load Test, you can configure the following settings:

a. Login X users within Y minutes - the number of users you want to be logging in how long they should take.

  • The logon window is user-defined. We will evenly space your desired sessions across the number of minutes you specify. Failed sessions won’t be retried and won’t affect the speed at which sessions log on. That is, the configured logon rate of sessions will remain the same for the logon window regardless of logon failures.
  • Logoff timing cannot be configured. Login Enterprise will log off sessions at the rate of 10 per minute, with a maximum of 15 minutes. So, for example, if you have a test with 140 sessions, the logoff window will take 14 minutes. Anything above 150 sessions will still take 15 minutes.

b. Test duration - how long the Test will take in minutes (after the last session starts).

  • After the Test duration ends all engines will stop executing the script and log off.

c. EUX score / VSImax - if you have EUX enabled, the Login Enterprise will calculate a VSImax: the maximum number of sessions your resource can comfortably support. It’s assumed that a Load Test is configured to start sessions on some bounded resource group, for instance, a VDI pool that points exclusively to one dedicated Test server. You could then calculate the VSImax for that single server, and use that to determine how many servers you need for a fixed number of user desktops.

Arguably, VSImax is the whole point of Load Tests, so if you’re not using the Login VSI EUX code, you’d still be looking to see what the maximum number of concurrent sessions your system can support is before your metrics start to drop off. So even if we’re not able to calculate VSImax for you, the Login Enterprise graphs may show you the point where your analysis shows performance degradation.

The Login Enterprise calculated VSImax is defined to be the point where the EUX Score drops below 5.5, and that point is marked on the EUX metrics graph. (This calculation may change in future releases, but it’s always intended to convey the point where responsiveness gets subjectively bad).

d. Verbose logging - display the command line number that triggered an error during Application execution failures. This may affect test results as the line number is returned during execution.

e. Logon time tracking process - track the complete duration from when the Connector initiates the login process for the user session until the final user-session executable (usually Windows Explorer) is up and running. You can also overwrite the default process of time tracking with a process of your choice. For more information, see Measuring total login time.

Frame 657.png

Session Metrics settings

Within a Load Test Test, you can also configure Session Metric settings, such as:

f. Session Metrics - Enable or disable the gathering of Session Metrics.

g. Metrics group - Choose the desired session metrics group to specify which performance counters should be collected.

h. Schedule (in which session) - Specify the schedule for sessions.

Frame 124.png

For more information on Session Metrics, see the Session Metrics.

Adding Applications to a Load Test

For the Load Test, you can add the preferred Applications for the Virtual User to test. You can also add Application groups and an option “to wait”. To do this:

In Actions, click the green “+“ to add a new action, and select what you’re going to add in the pop-up window.

Frame 76.png

You can reorder Applications along with the "Wait" action under the List of actions. To do this, click on the Application drag-and-drop area and organize them in the order you want your Login Enterprise to run the Applications.

You can also adjust the configuration to "leave Applications running" or "run once" for an Application. Leave Application running does not close the Application. Run Once will only run the script once.

Adjusting Engine start timeout

The setting for configuring the timeout for engine start is not available through the Login Enterprise web interface. To adjust this setting, you need to use the API.

You can do so by accessing the /publicApi/v7-preview/tests/{testId} endpoint and specifying the engineStartTimeout parameter.

The timeout for the Engine start setting controls how long the Virtual Appliance will wait for the Engine on the Target to come online after a session is launched, and before the connection is considered a failure (login failure).

Key considerations:

  • Default timeout: If no value is specified, the timeout defaults to 300 seconds (5 minutes).
  • Web interface limitation: This option is not available through the Appliance web interface. If you create a Test via the web interface, the timeout will be left empty and default to 300 seconds.
  • Update via API: To modify the timeout, first create a Test, then use the update endpoint to set the timeout. The timeout cannot be set during Test creation.

How to set the timeout:

  1. Create a Test (timeout will be empty by default).
  2. Use the Update Test endpoint to set the desired timeout (in seconds).

For details on accessing the Public API in Login Enterprise, see Accessing the Public API.

Starting a Load Test

1. In the Sidebar menu, navigate to Configuration > Manage Tests, and select Load Tests.

2. In the Load Test, click "play" next to the Test you’d like to start.

Frame 78.png

When you start the Load Test, Login Enterprise will attempt to reserve the necessary accounts. It will also verify the availability of the selected Launchers. Accounts cannot be shared, but Launchers always will be, if multiple Tests are set to use them. Accounts will be exclusively allocated for use by Load Testing during its execution.

3. To start the Test, click Confirm.

Frame 79.png

Once the Load Test starts, you are redirected to the Test dashboard where you can see the Load Test and its progression. To view the early results of your Load Test, in the Test dashboard click on the Load Test that you started.

Load Test results and comparison

For information on the Load Test results and comparison, see the Load Testing: Results and comparison

If you have questions or need additional information on specific Load Test configurations, feel free to get in touch with our support at support@loginvsi.com.