This is a WIP repo for building a ServiceX load testing suite with Locust (https://locust.io/).
Right now this project requires you to mount your local directory with helm in order to access your servicex.yaml file. The Procfile will set this (see instructions below).
You can run sx-locust from the same or different cluster that ServiceX is running on. If you are running both on the same cluster (for example, locally with minikube), make sure to use the cluster's internal addresses.
# servicex.yaml
api_endpoints:
- endpoint: http://servicex-servicex-app:8000
name: servicex-local
type: uproot
cache_path: /tmp/
shortened_downloaded_filename: trueSee local-values.sample.yaml for a basic example on how to modify sx-locust's configuration via a local values file. If you are running sx-locust on the same local cluster as servicex, you can use the sample file directly.
Use Overmind to run the Procfile. See the example command below, where LOCAL_DIR is the location of your sx-locust checkout, and VALUES_FILE is the name of your local values file.
cd /Users/mattshirley/work/sx-locust && LOCAL_DIR=${pwd} VALUES_FILE=local-values.yaml overmind startThis will install the helm chart and open a port forward on 8089. You can then access the Locust web UI at http://localhost:8089. Don't set the number of users greater than the number of workers. If running on the same cluster as servicex, set the hots value to http://servicex-servicex-app:8000. Otherwise, use the public url you use to access ServiceX.