Link Search Menu Expand Document Documentation Menu

命令标志

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。

结果格式

定义命令行结果的输出格式,可以是 markdowncsv。默认值为 markdown

结果数字对齐

定义 compare 命令输出结果时的列号对齐方式。默认值为 right

结果文件

提供文件路径时,会将比较结果写入路径中指定的文件。

在结果中显示

确定是否在结果文件中包含比较。

配置仓库

定义 OpenSearch Benchmark 从中加载 provision-configsprovision-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

延迟百分位

指定工作负载运行后要报告的延迟百分位的逗号分隔列表。接受介于 0100(含)之间的 intsfloats 值。不接受 minmedianmeanmax。默认值为 50,90,99,99.9,99.99,100

吞吐量百分位

指定工作负载运行后要报告的吞吐量百分位列表,以及始终显示的最小/中位数/平均值/最大值。与 --latency-percentiles 类似,此设置接受介于 0100(含)之间的 intsfloats 值。不接受 minmedianmeanmax。默认值为 None

启用随机化

启用范围查询中值的随机化,其中这些值是从工作负载的 workload.py 文件中用 register_standard_value_source 注册的标准值函数中抽取的。

标准值函数是一个无参数函数,它为特定字段生成一对随机值,以字典形式表示,包含键 "gte""lte",以及可选的 "format"

如果此参数为 True 但搜索操作没有注册的标准值函数,OpenSearch Benchmark 将引发 SystemSetupError

默认值为 False

随机化重复频率

设置随机查询值中可重复的比例。接受介于 0.01.0 之间的值。默认值为 0.3。此设置在未使用 --randomization-enabled 时不起作用。

随机化 N 值

设置使用随机化时,为每个操作生成的不同可重复对值的数量。默认值为 5000。此设置在未使用 --randomization-enabled 时不起作用。

测试迭代次数

指定工作负载运行的次数。默认值为 1

聚合

确定 OpenSearch Benchmark 是否应聚合多次测试执行的结果。

当设置为 true 时,OpenSearch Benchmark 会将所有迭代的结果合并到一份聚合报告中。当设置为 false 时,每次迭代的结果将单独报告。

默认值为 true

睡眠计时器

指定在开始下一次测试执行之前休眠的秒数。默认值为 5

出错时取消

设置此标志后,如果其中一次测试迭代发生错误,OpenSearch Benchmark 将停止执行测试。默认值为 false(未设置)。