layout | title | nav_order | parent | has_children | redirect_from |
---|---|---|---|---|---|
default |
Workload reference |
60 |
OpenSearch Benchmark Reference |
true |
/benchmark/workloads/index/ |
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 indices
- 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.
If you want to try certain workloads before creating your own, use the following examples.
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
}
]
}
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
}
]
}
}
- 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.