3.0 KiB
layout | title | nav_order | has_children |
---|---|---|---|
default | Workload reference | 60 | true |
OpenSearch Benchmark workload reference
A workload is a specification of one or more benchmarking scenarios. A workload typically includes the following:
- One or more data streams that are ingested into indexes
- A set of queries and operations that are invoked as part of the benchmark
This section provides a list of options and examples you can use when customizing or using a workload.
For more information about what comprises a workload, see Anatomy of a workload.
Workload examples
If you want to try certain workloads before creating your own, use the following examples.
Running unthrottled
In the following example, OpenSearch Benchmark runs an unthrottled bulk index operation for 1 hour against the movies
index:
{
"description": "Tutorial benchmark for OpenSearch Benchmark",
"indices": [
{
"name": "movies",
"body": "index.json"
}
],
"corpora": [
{
"name": "movies",
"documents": [
{
"source-file": "movies-documents.json",
"document-count": 11658903, # Fetch document count from command line
"uncompressed-bytes": 1544799789 # Fetch uncompressed bytes from command line
}
]
}
],
"schedule": [
{
"operation": "bulk",
"warmup-time-period": 120,
"time-period": 3600,
"clients": 8
}
]
}
Workload with a single task
The following workload runs a benchmark with a single task: a match_all
query. Because no clients
are indicated, only one client is used. According to the schedule
, the workload runs the match_all
query at 10 operations per second with 1 client, uses 100 iterations to warm up, and uses the next 100 iterations to measure the benchmark:
{
"description": "Tutorial benchmark for OpenSearch Benchmark",
"indices": [
{
"name": "movies",
"body": "index.json"
}
],
"corpora": [
{
"name": "movies",
"documents": [
{
"source-file": "movies-documents.json",
"document-count": 11658903, # Fetch document count from command line
"uncompressed-bytes": 1544799789 # Fetch uncompressed bytes from command line
}
]
}
],
{
"schedule": [
{
"operation": {
"operation-type": "search",
"index": "_all",
"body": {
"query": {
"match_all": {}
}
}
},
"warmup-iterations": 100,
"iterations": 100,
"target-throughput": 10
}
]
}
}
Next steps
- For more information about configuring OpenSearch Benchmark, see Configuring OpenSearch Benchmark.
- For a list of prepackaged workloads for OpenSearch Benchmark, see the opensearch-benchmark-workloads repository.