聚合
aggregate
命令将多个测试执行合并为一个聚合结果,提供了更简化的方式来执行和分析多个测试运行。聚合有两种方法
自动聚合
自动聚合方法在一个命令中运行多次基准测试迭代并自动聚合结果。您可以将本文概述的标志与 execute
命令一起使用。
用法
以下示例运行 geonames
工作负载并两次聚合结果
opensearch-benchmark execute --test-iterations=2 --aggregate=true --workload=geonames --target-hosts=127.0.0.1:9200
自动聚合标志
以下新标志可用于自定义自动聚合方法
--test-iterations
:指定运行工作负载的次数(默认为1
)。--aggregate
:确定是否聚合多个测试执行的结果(默认为true
)。--sleep-timer
:指定在开始下一次测试执行之前休眠的秒数(默认为5
)。--cancel-on-error
:设置后,如果其中一个测试迭代发生错误,则停止执行测试(默认为false
)。
手动聚合
您可以使用 aggregate
命令手动聚合来自多个测试执行的结果。
用法
要手动聚合多个测试执行,请指定您要聚合的 test_execution_ids
,如以下示例所示
opensearch-benchmark aggregate --test-executions=<test_execution_id1>,<test_execution_id2>,...
响应
OpenSearch 基准测试响应如下
____ _____ __ ____ __ __
/ __ \____ ___ ____ / ___/___ ____ ___________/ /_ / __ )___ ____ _____/ /_ ____ ___ ____ ______/ /__
/ / / / __ \/ _ \/ __ \\__ \/ _ \/ __ `/ ___/ ___/ __ \ / __ / _ \/ __ \/ ___/ __ \/ __ `__ \/ __ `/ ___/ //_/
/ /_/ / /_/ / __/ / / /__/ / __/ /_/ / / / /__/ / / / / /_/ / __/ / / / /__/ / / / / / / / / /_/ / / / ,<
\____/ .___/\___/_/ /_/____/\___/\__,_/_/ \___/_/ /_/ /_____/\___/_/ /_/\___/_/ /_/_/ /_/ /_/\__,_/_/ /_/|_|
/_/
Aggregate test execution ID: aggregate_results_geonames_9aafcfb8-d3b7-4583-864e-4598b5886c4f
-------------------------------
[INFO] SUCCESS (took 1 seconds)
-------------------------------
结果将聚合成一个测试执行,并存储在输出中显示的 ID 下。
附加选项
--test-execution-id
:为聚合测试执行定义一个唯一 ID。--results-file
:将聚合结果写入提供的文件。--workload-repository
:定义 OpenSearch 基准测试将从中加载工作负载的存储库(默认为default
)。
聚合结果
聚合结果包含以下信息
- 相对标准偏差 (RSD):对于每个指标,一个额外的
mean_rsd
值显示了测试执行结果的分布情况。 - 整体最小值/最大值:聚合结果不平均最小值和最大值,而是包含
overall_min
和overall_max
,它们反映了所有测试运行中的真实最小值/最大值。 - 存储:聚合测试结果与
test_executions
文件夹一起存储在单独的aggregated_results
文件夹中。
以下示例显示了聚合结果
"throughput": {
"overall_min": 29056.890292903263,
"mean": 50115.8603858536,
"median": 50099.54349684457,
"overall_max": 72255.15946248993,
"unit": "docs/s",
"mean_rsd": 59.426059705973664
},