扩展工作负载的数据语料库
本教程将向您展示如何使用 expand-data-corpus.py
脚本来增加 OpenSearch Benchmark 工作负载的数据语料库大小。这在针对大型 OpenSearch 集群运行 http_logs
工作负载时会很有帮助。
此脚本仅适用于 http_logs
工作负载。
先决条件
要使用本教程,请确保满足以下先决条件
- 您已安装 Python 3.x 或更高版本。
http_logs
工作负载数据语料库已存储在运行 OpenSearch Benchmark 的负载生成主机上。
了解脚本
expand-data-corpus.py
脚本旨在通过复制和修改来自 http_logs
工作负载语料库的现有文档来生成更大的数据语料库。它主要调整时间戳字段,同时保持其他字段不变。它还会生成一个偏移文件,使 OpenSearch Benchmark 能够更快地启动。
使用 expand-data-corpus.py
要使用 expand-data-corpus.py
,请使用以下语法
./expand-data-corpus.py [options]
该脚本提供了多种自定义选项。以下是最常用的选项
--corpus-size
: 以 GB 为单位的目标语料库大小--output-file-suffix
: 输出文件名的后缀。
示例
以下示例脚本命令生成一个 100 GB 的语料库
./expand-data-corpus.py --corpus-size 100 --output-file-suffix 100gb
脚本将开始生成文档。对于一个 100 GB 的语料库,生成完整语料库可能需要长达 30 分钟。
您可以通过使用不同的输出后缀多次运行脚本来生成多个语料库。脚本生成的所有语料库在注入期间由 OpenSearch Benchmark 顺序使用。
验证文档
脚本完成后,检查以下位置以查找新文件
- 在
http_logs
的 OpenSearch Benchmark 数据目录中documents-100gb.json
: 生成的语料库documents-100gb.json.offset
: 关联的偏移文件
- 在
http_logs
工作负载目录中gen-docs-100gb.json
: 生成语料库的元数据gen-idx-100gb.json
: 生成语料库的索引规范
在测试中使用语料库
要在 OpenSearch Benchmark 测试中使用新生成的语料库,请使用以下语法
opensearch-benchmark execute-test --workload http_logs --workload-params=generated_corpus:t [other_options]
generated_corpus:t
参数指示 OpenSearch Benchmark 使用扩展的语料库。任何额外的工作负载参数都可以使用 --workload-params
选项中的逗号进行追加。
专家级设置
使用 --help
查看脚本支持的所有选项。使用以下专家级设置时请务必小心,因为它们可能会影响语料库结构
-f
: 指定用作生成新文档基础的输入文件-n
: 设置要生成的文档数量,而不是语料库大小-i
: 定义连续时间戳之间的时间间隔-t
: 设置生成文档的起始时间戳-b
: 定义写入偏移文件时每批的文档数量