neotys/neoload-controller
NeoLoad® Controller for load and performance testing.
1M+
NeoLoad is a load testing solution developed by Neotys. NeoLoad realistically simulates user activity and monitors infrastructure behavior so you can eliminate bottlenecks in all your web and mobile applications. NeoLoad controller uses one or many Load Generators to generate the load against the server under test.
This image allows you to run NeoLoad tests within two different scopes:
It is recommended to use external Load Generators such as Docker Load Generators. This image must be used with NeoLoad shared licenses and Neotys Team Server.
The NeoLoad Controller is connected to NeoLoad Web which initiates the test.
docker run -d --rm \
-e MODE=Managed
-e NEOLOADWEB_URL={nlweb-onpremise-apiurl:port} \
-e NEOLOADWEB_TOKEN={nlweb-token} \
-e NTS_URL={nts-url} \
-e NTS_LOGIN={login:password} \
neotys/neoload-controller
Env | Comment | Example |
---|---|---|
MODE | Use 'Managed' to let NeoLoad Web manage this Controller. | Managed |
NEOLOADWEB_TOKEN | The NeoLoad Web API token. | 9be32780c6ec86d92jk0d1d25c |
NEOLOADWEB_URL (Optional) | The NeoLoad Web API URL. Optional, is only required for NeoLoad Web OnPremise deployment. If not present, the Controller will use NeoLoad Web SAAS. | https://neoload.mycompany.com:8080 |
NEOLOADWEB_PROXY (Optional / Since 6.10) | The proxy URL to access NeoLoad Web | http://login:password@myproxy |
NTS_URL (Not for NLWeb lease) | The NTS URL to lease the license. | http://nts.mycompany.com/nts |
NTS_LOGIN (Not for NLWeb lease) | Credential to access the NTS. | me:A5C4RjYqGTHq6Pk2uAJBwA== |
ZONE (Optional) | The Zone ID of the Controller, default value is the default Zone ID. | myZoneId |
CONTROLLER_XMX (Optional) | Max memory of the Controller. | -Xmx1024m |
AGENT_XMX (Since 7.0 / Optional) | Max memory of the Controller agent. | -Xmx256m |
Note: The passwords of NTS_LOGIN must be encrypted with our password scrambler.
The NeoLoad Controller runs a test from the project and license specified as environment parameters. Results can be optionally pushed live to NeoLoad Web.
docker run -d --rm \
-e PROJECT_NAME={project-name} \
-e SCENARIO={scenario} \
-e NTS_URL={nts-url} \
-e NTS_LOGIN={login:password} \
-e COLLAB_URL={collab-url} \
-e LICENSE_ID={license-id} \
-e VU_MAX={vu-max} \
-e DURATION_MAX={duration-max} \
-e NEOLOADWEB_URL={nlweb-onpremise-apiurl:port} \
-e NEOLOADWEB_TOKEN={nlweb-token} \
-e PUBLISH_RESULT={publish-result} \
neotys/neoload-controller
Create a Load Generator override file by following documentation of --override-lg parameter. Map your created file to the container by adding the following option to the previous example. The new line must be added before the neotys/neoload-controller line.
-v /path/to/your/local/lg/file:/tmp/lg.txt \
Then you must add the --override-lg parameter using the OTHER_ARGS environment variable like this: Add the following option to the previous example before the neotys/neoload-controller line.
-e OTHER_ARGS=--override-lg /tmp/lg.txt \
Add the following options to the previous example before the neotys/neoload-controller line.
-e CERTIFICATE_PASSWORD=your_password \
-e CERTIFICATE_PATH=/tmp/cert.pkcs12 \
-v /path/to/your/local/NeoLoad_Controller_Certificate.pkcs12:/tmp/cert.pkcs12 \
Env | Comment | Example |
---|---|---|
PROJECT_NAME | The name of the project | myProject |
SCENARIO | The name of the scenario to run | myScenario |
COLLAB_URL | The URL of the VCS to get the project | http://nts.mycompany.com/nts/svnroot/repository |
COLLAB_LOGIN (Optional) | The credential to checkout the project from the VCS | me:A5C4Rj2uAJBwA== |
RESULT_NAME (Optional) | The name of the result | Simple test |
DESCRIPTION (Optional) | The description of the test result | My CI automated test |
NTS_URL | The NTS URL to lease the license | http://nts.mycompany.com/nts |
NTS_LOGIN | Credential to access the NTS | me:A5C4RjYqGTHq6Pk2uAJBwA== |
LEASE_SERVER (Optional) | Which server used to get licence. The default value is NTS | NTS or NLWEB |
LICENSE_ID (Optional for NLWeb lease) | The license ID to lease | MCwCFQEsC7JH7fJM8Lk0FP3gkQ== |
VU_MAX | Number of VU to lease | 250 |
DURATION_MAX | License lease duration in hours | 2 |
PUBLISH_RESULT | Where to publish result: NTS, WEB (for neoload web) or ALL | ALL |
NEOLOADWEB_URL (Optional) | The NeoLoad Web API URL | https://neoload.mycompany.com:8080 |
NEOLOADWEB_TOKEN (Optional) | The NeoLoad Web API token | 9be32780c6ec86d92jk0d1d25c |
NEOLOADWEB_PROXY (Optional / Since 6.10) | The proxy URL to access NeoLoad Web | http://login:password@myproxy |
NEOLOADWEB_WORKSPACE (Optional / Since 7.4) | The NeoLoad Web Workspace (name or ID) | myWorkspace |
NEOLOADWEB_TEST (Optional / Since 8.2) | The NeoLoad Web Test (name or ID) | myTest |
CERTIFICATE_PATH (Optional / Since 2023.1) | The path to certificate file to secure the communication with Load Generators and Monitoring Agent | /path/to/certificate.pkcs12 |
CERTIFICATE_PASSWORD (Optional / Since 2023.1) | The password of the pkcs12 file | MyPassword |
OTHER_ARGS (Optional) | Other arguments | -variables env=preprod |
CONTROLLER_XMX (Optional) | Max memory of the controller | -Xmx1024m |
LOADGENERATOR_XMX (Optional) | Max memory of the Load Generator | -Xmx2048m |
These parameters refer to the command line argument of NeoLoadCmd
. For more information, see List of arguments.
If the max memory limit is not set, it will be automatically set at the recommended ratio.
Note: The passwords of NTS_LOGIN and COLLAB_LOGIN must be encrypted with our password scrambler. The proxy password can be encrypted too with the prefixed encryption.
NeoLoad is licensed under the following License Agreement. You must agree to this license agreement to download and use the image.
Note: This license does not permit further distribution.
This image is officially supported on Docker version 1.11.0. Support for older versions (down to 1.6) is provided on a best-effort basis. Please see the Docker installation documentation for details on how to upgrade your Docker Deamon.
For general issues relating to NeoLoad you can get help from NeoLoad Support or NeoLoad Community.
docker pull neotys/neoload-controller