|
| 1 | +## Description |
| 2 | + |
| 3 | +This directory (`itest/loadtest`) includes all files and data related to running |
| 4 | +the loadtesting suite for taproot assets daemon. These tests use the existing |
| 5 | +itest framework to run against real external running daemons. |
| 6 | + |
| 7 | +The configuration file needs to be named `loadtest.conf` and must be placed on |
| 8 | +the working directory in order for the loadtest executable to detect it. A |
| 9 | +sample configuration can be found in `loadtest-sample.conf` which includes all |
| 10 | +the fields that are required for the tests to run successfully. This includes |
| 11 | +connection credentials for the tapd & lnd nodes, as well as a bitcoind backend. |
| 12 | + |
| 13 | +For further tracking and metrics, a prometheus gateway is configured and used by |
| 14 | +the loadtests in order to submit any desired data in-flight. |
| 15 | + |
| 16 | +## Building |
| 17 | + |
| 18 | +To create the loadtest executable run `make build-loadtest`. This will |
| 19 | +create a `loadtest` binary in your working directory which you can run, given |
| 20 | +that you have a correct `loadtest.conf` in the same directory. |
| 21 | + |
| 22 | +The executable will consult the appropriate fields of `loadtest.conf` and it's |
| 23 | +going to run the defined test case with the respective config. |
| 24 | + |
| 25 | +Example: To run a mint loadtest which mints batches of `450` assets we will |
| 26 | +define `test-case="mint"` and `mint-test-batch-size=450` in our `loadtest.conf`. |
| 27 | + |
| 28 | +## Using dev-resources docker setup |
| 29 | + |
| 30 | +You can use any kind of external running daemon, as long as it's reachable. The |
| 31 | +easiest way to spin up some nodes from scratch for the purpose of the loadtests |
| 32 | +is to run the `dev-resources/docker-regtest` setup and use `alice`, |
| 33 | +`alice-tapd`, `bob`, `bob-tapd` and the single `bitcoind` instance. |
0 commit comments