title: run parent: Command Reference grand_parent: Reference nav_order: 90

run

Runs a benchmark workload.

Syntax

solr-orbit run [OPTIONS]

Workload selection

OptionDescription
--workloadNamed workload from the workloads repository
--workload-pathPath to a local workload directory
--workload-repositoryGit URL for the workloads repository (default: "default", resolved from benchmark.ini)
--workload-revisionGit revision (branch, tag, or commit) of the workloads repository; optional, uses the repository's default branch if omitted
--workload-paramsOverride workload Jinja2 parameters (comma-separated key:value pairs)
--test-procedureTest procedure to run (default: the workload's default test procedure)
--include-tasksComma-separated list of task names to run; all other tasks are skipped
--exclude-tasksComma-separated list of task names to skip
--enable-assertionsEnable task-level assertions defined in the workload

Cluster and pipeline

OptionDescription
--pipelinePipeline to use: benchmark-only, docker, from-distribution, from-sources. If omitted, the pipeline is selected automatically (see below)
--target-hostsComma-separated list of Solr host:port targets
--distribution-versionSolr version (e.g., 9.10.1) for docker/from-distribution pipelines
--cluster-configCluster configuration preset for docker/from-distribution/from-sources pipelines

Pipeline auto-selection

If --pipeline is omitted, Solr Orbit selects a pipeline automatically:

  • from-distribution — when --distribution-version is specified
  • benchmark-only — otherwise (connects to an already-running cluster)

Distributed load generation

OptionDescription
--worker-ipsComma-separated IP addresses of worker coordinator machines for distributed load generation (default: localhost)

Multiple-iteration aggregation

OptionDefaultDescription
--test-iterations1Number of times to repeat the workload
--aggregatetrueAggregate results from all iterations
--sleep-timer5Seconds to wait between iterations
--cancel-on-errorfalseAbort remaining iterations if any iteration fails

Telemetry

OptionDescription
--telemetryComma-separated list of optional telemetry devices to enable (see Telemetry reference)
--telemetry-paramsKey-value parameters for telemetry devices

Result output

OptionDescription
--test-run-idCustom unique ID for this run (auto-generated if omitted); used with compare
--user-tagA single key:value metadata pair attached to every metric record in this run (e.g., intention:baseline)
--results-formatOutput format: markdown (default) or csv
--results-numbers-alignColumn alignment in the summary table: right (default), left, center, or decimal
--results-fileWrite the summary table to a file in addition to the default location
--show-in-resultsWhich values to include in output: available (default), all-percentiles, or all
--visualizeGenerate an interactive HTML visualization after the run
--visualize-output-pathPath to write the HTML visualization file

General

OptionDescription
--test-modeRun a shortened version of the workload (≤1,000 docs) for quick validation
--on-errorError handling: continue (default), abort
--client-options / -cComma-separated client options (default: timeout:60)
--kill-running-processes / -kKill other running solr-orbit processes before starting
--preserve-installKeep the Solr installation after the run (provisioned pipelines only)

The --quiet flag is accepted by all subcommands; see Command Flags.

Workload parameter overrides

Workload files can contain Jinja2 template variables, for example:

{
  "bulk-size": {{ bulk_size | default(500) }},
  "clients": {{ clients | default(4) }}
}

Override these at run time with --workload-params as a comma-separated list of key:value pairs:

solr-orbit run --workload-params "bulk_size:1000,clients:8" ...

Related parameter flags:

FlagPurpose
--workload-paramsJinja2 variable overrides for the workload
--cluster-config-paramsVariable overrides for the cluster configuration
--plugin-paramsParameters passed to all configured plugins
--telemetry-paramsParameters passed to telemetry devices

Examples

# Benchmark an existing cluster
solr-orbit run \
  --pipeline benchmark-only \
  --target-hosts localhost:8983 \
  --workload nyc_taxis \
  --test-mode

# Docker pipeline with Solr 9.10.1
solr-orbit run \
  --pipeline docker \
  --distribution-version 9.10.1 \
  --workload nyc_taxis

# Custom workload with parameter overrides
solr-orbit run \
  --pipeline benchmark-only \
  --target-hosts localhost:8983 \
  --workload-path /path/to/my-workload \
  --workload-params "bulk_size:1000,clients:8"

# With optional telemetry devices
solr-orbit run \
  --pipeline benchmark-only \
  --target-hosts localhost:8983 \
  --workload nyc_taxis \
  --telemetry shard-stats,cluster-environment-info

# Run 3 iterations and aggregate results
solr-orbit run \
  --pipeline benchmark-only \
  --target-hosts localhost:8983 \
  --workload nyc_taxis \
  --test-iterations 3 \
  --sleep-timer 10

See also