This project provides tools for performing performance tests for Yoda.
-
Clone the repository:
git clone https://github.com/UtrechtUniversity/yoda-performance-tests.git cd yoda-performance-tests -
Install the required dependencies:
pip install .Or if you prefer
uv:uv lock uv sync
If you want to develop on these tools, also install the dev extras:
pip install .[dev]
Or if you prefer
uv:uv sync --extra dev
You can run tests using locust (omit uv run if you installed with pip):
uv run locust -f lf_init.py,lf_irods.py --environment environments/development.jsonThis will run all Tests (tasks contained in classes derived from locust.User) as tests indefinitely. In this the iRODS tests.
There is also the possibility to run a couple of tests after each other in more staged fashion:
uv run locust -f lf_init.py,lf_irods.py,lf_stages.py --environment environments/development.json- Setting locust framework
- Exploration of staged runs, first version
- IRODSUser tests blueprint
- Portal tests blueprint
- WebDav tests blueprint
- Parameterization of the User classes in a staged run
- Multi worker runs
- Headless, autostart/autostop runs
- Machine readable reporting
There is also still the possibility to the tests as was initially designed:
yoda-performance-tests -s <sessions>The following command-line arguments can be specified:
| Argument | Short Form | Type | Default | Description |
|---|---|---|---|---|
--sessions |
-s |
int[] | 10 | Number of sessions to open in total (default: 10) |
--concurrent-sessions |
-c |
int | 2 | Specify the number of concurrent sessions to run (default: 2) |
--users |
-u |
str | users.json | Path to the JSON file containing user credentials (default: users.json) |
--verbose |
-v |
bool | False | Verbose mode - display additional information for troubleshooting |
--insecure |
-k |
bool | False | Disables SSL certificate verification |
--graph |
-g |
bool | False | Generate graph of performance test results |
This project is a collaboration between Utrecht University and SURF.
This project is licensed under the GPL-v3 license. The full license can be found in LICENSE.