命令标志
OpenSearch Benchmark 使用命令行标志来更改 Benchmark 的行为。并非所有标志都可以与每个命令一起使用。要了解特定命令支持哪些标志,请输入 opensearch-benchmark <command> --h
。
所有命令标志都使用以下语法添加到命令中
opensearch-benchmark <command> --<command-flag>
接受逗号分隔值的标志(例如 --telemetry
)也可以接受 JSON 数组。这可以通过传递以 .json
结尾的文件路径或作为 JSON 字符串内联定义。
- 逗号分隔值:
opensearch-benchmark ... --test-procedure="ingest-only,search-aggregations"
- JSON 文件:
opensearch-benchmark ... --workload-params="params.json"
- JSON 内联字符串:
opensearch-benchmark ... --telemetry='["node-stats", "recovery-stats"]'
工作负载路径
这可以是一个包含 workload.json
文件的目录,或者是一个包含工作负载规范的任意名称的 .json
文件。--workload-path
、--workload-repository
和 --workload
互斥。
工作负载仓库
这定义了 OpenSearch Benchmark 从中加载工作负载的仓库。--workload-path
、--workload-repository
和 --workload
互斥。
工作负载修订版本
定义 OpenSearch Benchmark 应使用的来自工作负载源树的特定修订版本。
工作负载
根据工作负载的名称定义要使用的工作负载。您可以使用 opensearch-benchmark list workloads
找到预加载工作负载的列表。--workload-path
、--workload-repository
和 --workload
互斥。
工作负载参数
定义要注入到工作负载中的变量。注入的变量必须在工作负载中可用。要查看官方工作负载中哪些参数有效,请从工作负载仓库中选择工作负载。
测试过程
定义每个工作负载要使用的测试过程。您可以通过在 info
命令中指定工作负载来查找工作负载支持的测试过程列表,例如 opensearch-benchmark info --workload=<workload_name>
。要查找特定测试过程的信息,请使用命令 opensearch-benchmark info --workload=<workload_name> --test-procedure=<test-procedure>
。
测试执行 ID
为测试运行定义一个唯一的 ID。
包含任务
定义要运行的测试过程任务的逗号分隔列表。默认情况下,测试过程数组中列出的所有任务都会运行。
测试按照它们在 test-procedure
中定义的顺序执行,而不是按照它们在命令中定义的顺序执行。
所有任务过滤器都区分大小写。
排除任务
定义不运行的测试过程任务的逗号分隔列表。
基线
用于比较竞争者测试执行的基线测试执行 ID。
竞争者
与基线进行比较的竞争者的测试执行 ID。
结果格式
定义命令行结果的输出格式,可以是 markdown
或 csv
。默认值为 markdown
。
结果数字对齐
定义 compare
命令输出结果时的列号对齐方式。默认值为 right
。
结果文件
提供文件路径时,会将比较结果写入路径中指定的文件。
在结果中显示
确定是否在结果文件中包含比较。
配置仓库
定义 OpenSearch Benchmark 从中加载 provision-configs
和 provision-config-instances
的仓库。
配置修订版本
定义 OpenSearch Benchmark 应使用的 provision-config
中的特定 Git 修订版本。
配置路径
定义 --provision-config-instance
和任何要使用的 OpenSearch 插件配置的路径。
分发版本
根据版本号下载指定的 OpenSearch 分发版。有关已发布的 OpenSearch 版本列表,请参阅版本历史。
分发仓库
定义应从中下载 OpenSearch 分发版的仓库。默认值为 release
。
配置实例
定义要使用的 --provision-config-instance
。您可以使用命令 opensearch-benchmark list provision-config-instances
查看可能的配置实例。
配置实例参数
作为 provision-config-instance
的变量逐字注入的逗号分隔键值对列表。
目标主机
定义在使用管道 benchmark-only
时应定位的主机-端口对的逗号分隔列表。默认值为 localhost:9200
。
目标操作系统
应下载 OpenSearch 工件的目标操作系统 (OS)。默认值为当前操作系统。
目标架构
应下载工件的 CPU 架构名称。
修订版本
定义用于运行基准测试的当前源代码修订版本。默认值为 current
。
此命令标志可以使用以下选项
current
:根据您的 OpenSearch 分发版使用源代码树的当前修订版本。latest
:从源代码树的主分支获取最新修订版本。
您还可以使用源树中的时间戳或提交 ID。使用时间戳时,请指定 @ts
,其中“ts”是有效的 ISO 8601 时间戳,例如 @2013-07-27T10:37:00Z
。
OpenSearch 插件
定义要安装的 OpenSearch 插件。默认情况下不安装任何插件。
插件参数
定义以逗号分隔的键值对列表,这些键值对将作为变量逐字注入到所有插件中。
运行时 JDK
要使用的 JDK 主版本。
客户端选项
定义要使用的客户端的逗号分隔列表。所有选项都传递给 OpenSearch Python 客户端。默认值为 timeout:60
。
负载工作协调器主机
定义协调负载的主机的逗号分隔列表。默认值为 localhost
。
启用工作协调器性能分析
启用 OpenSearch Benchmark 的工作协调器的性能分析。默认值为 false
。
管道
--pipeline
选项选择要运行的管道。您可以通过运行 opensearch-benchmark list pipelines
查找 OpenSearch Benchmark 支持的管道列表。
遥测
当设备以逗号分隔列表形式提供时,启用提供的遥测设备。您可以使用 opensearch-benchmark list telemetry
查找可能的遥测设备列表。
遥测参数
启用遥测设备的参数设置。接受一个逗号分隔的键值对列表,每个键值对都由冒号或 JSON 文件名分隔。
出错时
控制 OpenSearch Benchmark 如何响应错误。默认值为 continue
。
您可以使用此命令标志的以下选项
continue
:尽管出现错误,仍继续运行测试。abort
:发生错误时中止测试。
保留安装
保留基准测试候选及其索引。默认值为 false
。
杀死运行中的进程
当设置为 true
时,停止任何当前运行的 OpenSearch Benchmark 进程,并允许 Benchmark 继续运行。默认值为 false
。
图表规范路径
设置包含可用于生成图表的图表规范的 JSON 文件的路径。
图表类型
生成指定的图表类型,可以是 time-series
(时间序列)或 bar
(柱状图)。默认值为 time-series
。
输出路径
用于图表输出的名称和路径。默认值为 stdout
。
限制
限制最近测试运行的搜索结果数量。默认值为 10
。
延迟百分位
指定工作负载运行后要报告的延迟百分位的逗号分隔列表。接受介于 0
和 100
(含)之间的 ints
或 floats
值。不接受 min
、median
、mean
或 max
。默认值为 50,90,99,99.9,99.99,100
。
吞吐量百分位
指定工作负载运行后要报告的吞吐量百分位列表,以及始终显示的最小/中位数/平均值/最大值。与 --latency-percentiles
类似,此设置接受介于 0
和 100
(含)之间的 ints
或 floats
值。不接受 min
、median
、mean
或 max
。默认值为 None
。
启用随机化
启用范围查询中值的随机化,其中这些值是从工作负载的 workload.py
文件中用 register_standard_value_source
注册的标准值函数中抽取的。
标准值函数是一个无参数函数,它为特定字段生成一对随机值,以字典形式表示,包含键 "gte"
、"lte"
,以及可选的 "format"
。
如果此参数为 True
但搜索操作没有注册的标准值函数,OpenSearch Benchmark 将引发 SystemSetupError
。
默认值为 False
。
随机化重复频率
设置随机查询值中可重复的比例。接受介于 0.0
和 1.0
之间的值。默认值为 0.3
。此设置在未使用 --randomization-enabled
时不起作用。
随机化 N 值
设置使用随机化时,为每个操作生成的不同可重复对值的数量。默认值为 5000
。此设置在未使用 --randomization-enabled
时不起作用。
测试迭代次数
指定工作负载运行的次数。默认值为 1
。
聚合
确定 OpenSearch Benchmark 是否应聚合多次测试执行的结果。
当设置为 true
时,OpenSearch Benchmark 会将所有迭代的结果合并到一份聚合报告中。当设置为 false
时,每次迭代的结果将单独报告。
默认值为 true
。
睡眠计时器
指定在开始下一次测试执行之前休眠的秒数。默认值为 5
。
出错时取消
设置此标志后,如果其中一次测试迭代发生错误,OpenSearch Benchmark 将停止执行测试。默认值为 false
(未设置)。