OpenSearch Benchmark is a macrobenchmark utility provided by the OpenSearch Project. You can use OpenSearch Benchmark to gather performance metrics from an OpenSearch cluster for a variety of purposes, including:
- Tracking the overall performance of an OpenSearch cluster.
- Informing decisions about when to upgrade your cluster to a new version.
- Determining how changes to your workflow—such as modifying mappings or queries—might impact your cluster.
OpenSearch Benchmark can be installed directly on a compatible host running Linux and macOS. You can also run OpenSearch Benchmark in a Docker container. See Installing OpenSearch Benchmark for more information.
Before using OpenSearch Benchmark, familiarize yourself with the following concepts:
Workload: The description of one or more benchmarking scenarios that use a specific document corpus from which to perform a benchmark against your cluster. The document corpus contains any indexes, data files, and operations invoked when the workflow runs. You can list the available workloads by using
opensearch-benchmark list workloadsor view any included workloads inside the OpenSearch Benchmark Workloads repository. For information about building a custom workload, see Creating custom workloads.
- Pipeline: A series of steps before and after a workload is run that determines benchmark results. OpenSearch Benchmark supports three pipelines:
from-sources: Builds and provisions OpenSearch, runs a benchmark, and then publishes the results.
from-distribution: Downloads an OpenSearch distribution, provisions it, runs a benchmark, and then publishes the results.
benchmark-only: The default pipeline. Assumes an already running OpenSearch instance, runs a benchmark on that instance, and then publishes the results.
- Test: A single invocation of the OpenSearch Benchmark binary.