聚合
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
},