neotys/neoload-controller

By neotys

Updated about 23 hours ago

NeoLoad® Controller for load and performance testing.

Image
6

1M+

What is NeoLoad Controller?


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:

  • Managed by NeoLoad Web - The NeoLoad Controller is connected to NeoLoad Web which initiates the test (only available since NeoLoad 6.7)
  • Stand-Alone usage - The NeoLoad Controller runs a test from the project and license specified as environment parameters. Results can be optionally pushed live to NeoLoad Web.

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.

Managed by NeoLoad Web

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
Parameters
EnvCommentExample
MODEUse 'Managed' to let NeoLoad Web manage this Controller.Managed
NEOLOADWEB_TOKENThe 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 Webhttp://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.

Stand-Alone Usage

The NeoLoad Controller runs a test from the project and license specified as environment parameters. Results can be optionally pushed live to NeoLoad Web.

With the Load Generators listed in the Project
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
With overridden Load Generators

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 \
With Load Generators that accept only TRUSTED controllers

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 \
Parameters
EnvCommentExample
PROJECT_NAMEThe name of the projectmyProject
SCENARIOThe name of the scenario to runmyScenario
COLLAB_URLThe URL of the VCS to get the projecthttp://nts.mycompany.com/nts/svnroot/repository
COLLAB_LOGIN (Optional)The credential to checkout the project from the VCSme:A5C4Rj2uAJBwA==
RESULT_NAME (Optional)The name of the resultSimple test
DESCRIPTION (Optional)The description of the test resultMy CI automated test
NTS_URLThe NTS URL to lease the licensehttp://nts.mycompany.com/nts
NTS_LOGINCredential to access the NTSme:A5C4RjYqGTHq6Pk2uAJBwA==
LEASE_SERVER (Optional)Which server used to get licence. The default value is NTSNTS or NLWEB
LICENSE_ID (Optional for NLWeb lease)The license ID to leaseMCwCFQEsC7JH7fJM8Lk0FP3gkQ==
VU_MAXNumber of VU to lease250
DURATION_MAXLicense lease duration in hours2
PUBLISH_RESULTWhere to publish result: NTS, WEB (for neoload web) or ALLALL
NEOLOADWEB_URL (Optional)The NeoLoad Web API URLhttps://neoload.mycompany.com:8080
NEOLOADWEB_TOKEN (Optional)The NeoLoad Web API token9be32780c6ec86d92jk0d1d25c
NEOLOADWEB_PROXY (Optional / Since 6.10)The proxy URL to access NeoLoad Webhttp://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 fileMyPassword
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.

License

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.

Supported Docker versions

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.

User Feedback

For general issues relating to NeoLoad you can get help from NeoLoad Support or NeoLoad Community.

Docker Pull Command

docker pull neotys/neoload-controller