blob: 1a2b5518d7326d337f17e7e1b4a7419b0d982d81 [file] [view]
---
title: aggregate
parent: Command Reference
grand_parent: Reference
nav_order: 10
---
# aggregate
Combines results from multiple benchmark runs into a single aggregated result. This is useful when you want statistical confidence in your benchmark numbers running a workload three or more times and aggregating the results reduces the influence of any single outlier run.
## Two modes of aggregation
### Automatic aggregation (via `run`)
Pass `--test-iterations` and `--aggregate` directly to the `run` command to execute the workload multiple times and aggregate automatically:
```bash
solr-orbit run \
--workload nyc_taxis \
--pipeline benchmark-only \
--target-hosts localhost:8983 \
--test-iterations 3 \
--aggregate true \
--sleep-timer 30
```
| Flag | Description | Default |
|------|-------------|---------|
| `--test-iterations` | Number of times to run the workload | `1` |
| `--aggregate` | Aggregate results after all iterations | `true` |
| `--sleep-timer` | Seconds to wait between runs | `5` |
| `--cancel-on-error` | Stop all remaining iterations on first error | `false` |
### Manual aggregation
Run benchmarks separately, then combine specific runs by their test run IDs:
```bash
# First, list recent test runs to get IDs
solr-orbit list test-runs
# Then aggregate the runs you want
solr-orbit aggregate \
--test-runs 20260101T120000Z,20260102T120000Z,20260103T120000Z
```
## Syntax
```bash
solr-orbit aggregate --test-runs ID1,ID2[,...] [OPTIONS]
```
## Options
| Option | Description |
|--------|-------------|
| `--test-runs` | Comma-separated list of test run IDs to aggregate |
| `--test-runs-id` | Custom ID for the aggregated result (auto-generated if omitted) |
| `--results-file` | Path to write the aggregated results JSON |
## Output
The aggregated result includes additional statistical fields compared to a single run:
```json
{
"task": "index",
"throughput": {
"overall_min": 3820.5,
"mean": 4105.3,
"median": 4098.7,
"overall_max": 4390.1,
"unit": "docs/s",
"mean_rsd": 3.8
}
}
```
| Field | Description |
|-------|-------------|
| `overall_min` | True minimum value across all runs |
| `mean` | Arithmetic mean across all runs |
| `median` | Median value across all runs |
| `overall_max` | True maximum value across all runs |
| `mean_rsd` | Mean relative standard deviation (%) lower is better; indicates how consistent the runs were |
Aggregated results are saved to `~/.solr-orbit/benchmarks/aggregated_results/<aggregated-id>/`.
## See also
- [compare](compare.html) compare two individual runs
- [list](list.html) list test runs and their IDs
- [Understanding Results](../../user-guide/understanding-results/)