Zalando end-to-end load tester
Project description
Zalando end-to-end load tester
A command-line tool for orchestrating the deployment of Locust in Kubernetes.
Use it in conjunction with Transformer to run large-scale end-to-end load testing of your website.
Prerequistes
Installation
Install using pip:
pip install zelt
Usage
Example HAR files, locustfile, and manifests are included in the examples/ directory, try them out.
N.B The cluster to deploy to is determined by your currently configured context. Ensure you are using the correct cluster before using Zelt.
Locustfile as input
Zelt can deploy Locust with a locustfile to a cluster:
zelt from-locustfile PATH_TO_LOCUSTFILE --manifests PATH_TO_MANIFESTS
HAR files(s) as input
Zelt can transform HAR file(s) into a locustfile and deploy it along with Locust to a cluster:
zelt from-har PATH_TO_HAR_FILES --manifests PATH_TO_MANIFESTS
N.B This requires Transformer to be installed. For more information about Transformer, please refer to Transformer’s documentation.
Rescale a deployment
Zelt can rescale the number of workers in a deployment it has made to a cluster:
zelt rescale NUMBER_OF_WORKERS --manifests PATH_TO_MANIFESTS
Delete a deployment
Zelt can delete deployments it has made from a cluster:
zelt delete --manifests PATH_TO_MANIFESTS
Run Locust locally
Zelt can also run Locust locally by providing the --local/-l flag to either the from-har or from-locustfile command e.g.:
zelt from-locustfile PATH_TO_LOCUSTFILE --local
Use S3 for locustfile storage
By default, Zelt uses a ConfigMap for storing the locustfile. ConfigMaps have a file-size limitation of ~2MB. If your locustfile is larger than this then you can use an S3 bucket for locustfile storage.
To do so, add the following parameters to your Zelt command:
--storage s3: Switch to S3 storage
--s3-bucket: The name of your S3 bucket
--s3-key: The name of the file as stored in S3
N.B. Zelt will not create the S3 bucket for you.
N.B. Make sure to update your deployment manifest(s) to download the locustfile file from S3 instead of loading from the ConfigMap volume mount.
Use a configuration file for Zelt options
An alternative to specifying Zelt’s options on the command-line is to use a configuration file, for example:
zelt from-har --config examples/config/config.yaml
N.B. The configuration file’s keys are the same as the command-line option names but without the double dash (--).
Documentation
Take a look at our documentation for more details.
Contributing
Please read CONTRIBUTING.md for details on our process for submitting pull requests to us, and please ensure you follow the CODE_OF_CONDUCT.md.
Versioning
We use SemVer for versioning.
License
This project is licensed under the MIT License - see the LICENSE file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.