% SPLINTER-WORKLOAD(1) Cargill, Incorporated | Splinter Commands
NAME
splinter-workload — Submits a workload against a distributed ledger
SYNOPSIS
splinter workload [FLAGS] [SUBCOMMAND]
DESCRIPTION
This command is intended to be used in performance and stability testing of distributed ledgers by continuously submitting batches to the provided target groups at some rate.
The workload tool assumes the distributed ledger’s REST API supports Cylinder JWT authentication.
FLAGS
-
-h
,--help
- Prints help information
-
-q
,--quiet
- Decrease verbosity (the opposite of -v). When specified, only errors or warnings will be output.
-
-V
,--version
- Prints version information
-v
- Increases verbosity (the opposite of -q). Specify multiple times for more output.
OPTIONS
-d, --duration DURATION
- Length of time in hours that the workload should run for. If this option is not
used, the workload will run indefinitely. Duration can be provided in seconds,
minutes, hours, or days ex:
7s
,20m
,24h
,2d
-k, --key PRIVATE-KEY-FILE
- Specifies the full path to the private key file. The key will be used to sign the batches as well as generate a JWT for authentication.
--smallbank-num-accounts ACCOUNTS
- The number of smallbank accounts to make. (default:
100
) ---seed SEEDS
- An integer to use as a seed to make the workload reproducible.
--target-rate TARGET-RATE
- Rate of batch submissions, either provide a float, a batch rate in form
/<h,m,s> or a range with the min and max separated by `-` ex: `5.0/s-15.0/m`,`1/m`,`15/s-2/m`,`2.0` (default: `1/s`) --targets TARGETS
- Node URLS to submit batches to, combine groups with
;
. Each group will get batches from a different workload generator to handle dependency requirements. The URL should include all of the information required to append/batches
to the end. -u, --update UPDATE
- The time in seconds between updates. The workloads will log the success rate
of submitting the HTTP requests. (default:
30
) --workload WORKLOAD
- The workload to be submitted. The possible values are
smallbank
orcommand
. Determines the type of sabre transactions contained within the batches submitted by the workload, either smallbank or command payloads.
EXAMPLES
The following shows starting 1 workload against a Splinter circuit jEWSK-jdjSM
with scabbard services. A Scabbard service runs a sabre transaction handler.
The smallbank smart contract must already be submitted to scabbard.
splinter workload \
--target-rate 1/s \
--key ./alice.priv \
--workload smallbank \
--update 5 \
--smallbank-seed 10 \
--smallbank-num-accounts 5 \
--targets "http://0.0.0.0:8089/scabbard/jEWSK-jdjSM/a001;http://0.0.0.0:8088/scabbard/jEWSK-jdjSM/ \
--duration 24h
SEE ALSO
| splinter(1)
|
| Splinter documentation: https://www.splinter.dev/docs/0.7/