XTC v113
Load Testing
Code Archives
Management UI
Code archives can now be managed directly through the XTC web UI. On the Code Archives tab of the project configuration page, you can upload new archives, edit their metadata, and delete archives that are no longer needed. This complements the existing upload capability available through the REST API.
Automatic Deletion of Old Archives
To prevent code archives from accumulating indefinitely, XTC now automatically removes old archives on a daily basis. This is particularly useful when archives are uploaded frequently by automated processes. The following rules apply:
- A project may hold a maximum of 300 code archives. Attempting to upload further archives will fail once this limit is reached.
- Archives older than 30 days are eligible for auto-deletion, but XTC always retains at least the 30 most recent archives regardless of their age.
Storage Usage
Code archives now count toward the project’s cloud storage usage, alongside load test results and reports.
New Feature: Private Machines (Preview)
Overview
Sometimes the system under test (SUT) is not accessible from the public internet — for example, when it resides behind a corporate firewall or in a private network segment. In such scenarios, whitelisting every XTC agent machine’s IP address in the firewall is often impractical. A better alternative is to place the load generator machines in the same network as the SUT. Because those machines are not reachable from the outside, they are referred to as private machines. This allows you to run load tests in a fully contained, network-isolated environment.
Private machines are load test machines that run in your own infrastructure instead of the public cloud. Because they are not directly reachable from the internet, XTC cannot contact them the way it controls public cloud or custom machines. Instead, the XLT agent controller must initiate the communication. First, it registers with XTC via the REST API so XTC knows which machines are available. Second, the agent controller establishes a secure tunnel to XTC via the XLT Relay. Through this tunnel, the agent controller receives its tasks from XTC.
Private machines must be available when a load test is started. You are responsible for starting and stopping them — either by keeping them running continuously, or by automating their lifecycle around your load tests with a scripted process.
Apart from these operational differences, there are no further distinctions between public and private machines. Public machines (cloud or custom) and private machines can be freely mixed within a single load test.
The private machines feature is currently in preview and not yet generally available. If you would like to participate in the preview, please contact us and we will enable the feature for your organization.
Prerequisites
For a machine to act as a private machine, it must meet the following requirements:
- Outbound HTTPS connections to
xtc.xceptance.comandxtc-xlt-relay.xceptance.comon port 443 must be permitted. - Java 21 or later must be installed.
- XLT 10.0.0-beta-2 or later must be installed.
- XLT must be configured for private machine mode as described below.
Private Machine Setup
Step 1: Create API Client Credentials
In your load testing project in XTC, create API client credentials with at least the PRIVATEMACHINE_REGISTER scope. These credentials will be used by the XLT agent controllers on your private machines to register themselves with XTC. Save the generated client ID and secret.
You will also need the short names of your XTC organization and load testing project.
Step 2: Configure XLT
Configure XLT for private machine mode on each private machine by editing <xlt>/config/agentcontroller.properties. The following settings are required:
| Property | Default | Description |
|---|---|---|
com.xceptance.xlt.agentcontroller.password | xceptance | The password used to protect access to the agent controller. Must be the same for all machines. |
com.xceptance.xlt.agentcontroller.privateMachine.enabled | false | Set to true to enable private machine mode. |
com.xceptance.xlt.agentcontroller.privateMachine.name | (auto-generated) | An optional human-readable name for this private machine as it appears in XTC. |
com.xceptance.xlt.agentcontroller.privateMachine.type | MEDIUM | The capacity class of this machine. One of: TINY, SMALL, MEDIUM, LARGE. Make sure the specified type reflects the machine’s actual hardware resources. |
com.xceptance.xlt.agentcontroller.privateMachine.xtc.clientId | — | The client ID of the API credentials created in Step 1. |
com.xceptance.xlt.agentcontroller.privateMachine.xtc.clientSecret | — | The client secret of the API credentials created in Step 1. |
com.xceptance.xlt.agentcontroller.privateMachine.xtc.org | — | The short name of your XTC organization. |
com.xceptance.xlt.agentcontroller.privateMachine.xtc.project | — | The short name of your XTC load testing project. |
Once configured, start the XLT agent controller on each private machine. The agent controller will immediately register itself with XTC. Verify that all machines appear on the Private Machines page of your project.
Using Private Machines in Load Tests
To use private machines in a load test, specify the desired machine type and the required number of machines in the new Private Machines section on the Machines tab of the load test. The machines do not need to be online at the time of configuration. In addition, make sure to enter the agent controller password configured above in the Common Machine Configuration section.
When the load test is started, XTC searches for the requested number of available private machines of the specified type and reserves them for the duration of the test. If not enough private machines of that type are registered and available, the test will not start. There is no automatic fallback to bigger machine types.
Once the load test completes, XTC releases the reserved private machines, making them available for other load tests. The overall load test lifecycle — including building the test suite, running scenarios, downloading results, and generating reports — is identical to that of regular public machine tests.
Available XLT Execution Environments
- XLT 9.x → 9.2.2 (recommended)
- XLT 10.x → 10.0.0-beta-2
Monitoring
Warning for Inactive Notification Lists
When the last activation time of a notification list is removed, the list becomes effectively inactive. XTC now displays a warning to make this clear.
General
Member Table Shows Name and Email in Separate Columns
In an organization or project, the table on the Users tab of the Members page now shows the name and email of each user in separate columns, allowing you to sort the list by either value.