Test procedures define named benchmark scenarios within a workload. A workload typically defines one or more test procedures, each specifying a schedule of operations.
{ "test-procedures": [ { "name": "append-no-conflicts", "description": "Index all documents then run searches", "default": true, "schedule": [ { "operation": "bulk-index", "warmup-time-period": 120, "clients": 8 }, { "operation": "commit" }, { "operation": "search", "clients": 1, "iterations": 200, "target-throughput": 10 } ] } ] }
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Test procedure name, referenced with --test-procedure at run time |
description | string | No | Human-readable description |
default | boolean | No | If true, this test procedure is used when --test-procedure is not specified |
schedule | array | Yes | Sequence of schedule items (operations with execution parameters) |
| Field | Type | Description |
|---|---|---|
operation | string or object | Operation name (string reference) or inline operation definition (object) |
clients | integer | Number of parallel clients |
iterations | integer | Number of times to run the operation |
warmup-iterations | integer | Iterations to discard before recording metrics |
warmup-time-period | integer | Seconds to warm up before recording metrics |
target-throughput | number | Target operations per second (throttle if faster) |
time-period | integer | Fixed duration in seconds (alternative to iterations) |
{: .important } The target Solr cluster must be running in SolrCloud (ZooKeeper) mode. For Solr 9.x, start with -c (e.g. docker run -d -p 8983:8983 solr:9 -c). For Solr 10.0.0+, SolrCloud is the default.
solr-orbit run \ --pipeline benchmark-only \ --target-hosts localhost:8983 \ --workload my-workload \ --test-procedure append-no-conflicts
solr-orbit info --workload my-workload