共享自定义工作负载
您可以通过将自定义工作负载上传到 GitHub 上的工作负载存储库来与其他 OpenSearch 用户共享。
请确保工作负载数据集中包含的任何数据不包含专有数据或个人身份信息 (PII)。
要共享自定义工作负载,请按照以下步骤操作。
创建 README.md
提供一个详细的 README.MD
文件,其中包含以下内容
- 工作负载的目的。在创建工作负载描述时,请考虑其特定用途以及该用例与工作负载存储库中其他用例的不同之处。
- 数据集中帮助用户理解数据结构的一个示例文档。
- 可用于自定义工作负载的工作负载参数。
- 工作负载中包含的默认测试过程列表以及工作负载可以运行的其他测试过程。
- 测试运行后工作负载产生的输出示例。
- 一份开源许可证副本,授权用户和 OpenSearch Benchmark 使用该数据集。
有关工作负载 README 文件的示例,请参阅 http_logs
README。
验证工作负载结构
工作负载必须包含以下文件
workload.json
index.json
files.txt
test_procedures/default.json
operations/default.json
两个 default.json
文件名都可以自定义为描述性名称。工作负载可以包含一个可选的 workload.py
文件,以添加更多动态功能。有关文件内容的更多信息,请参阅工作负载解剖。
测试工作负载
所有贡献给 OpenSearch Benchmark 的工作负载都必须满足以下测试要求
- 为探索和生成工作负载示例而运行的所有测试都必须针对 OpenSearch 集群。
- 工作负载必须通过所有集成测试。请按照以下步骤操作,以确保工作负载通过集成测试
- 将工作负载添加到您派生的工作负载存储库副本中。请确保您已派生
opensearch-benchmark-workloads
存储库和 OpenSearch Benchmark 存储库。 - 在您派生的 OpenSearch Benchmark 存储库中,更新
/osbenchmark/it/resources
目录中的benchmark-os-it.ini
和benchmark-in-memory.ini
文件,使其指向包含您工作负载的派生工作负载存储库。 - 修改
.ini
文件后,将您的更改提交到用于测试的分支。 - 通过选择您提交更改的分支,使用 GitHub Actions 运行您的集成测试。验证测试是否按预期运行。
- 如果您的集成测试按预期运行,请转到您派生的工作负载存储库,并将您的工作负载更改合并到分支
1
和2
中。这使得您的工作负载可以出现在 OpenSearch Benchmark 的两个主要版本中。
- 将工作负载添加到您派生的工作负载存储库副本中。请确保您已派生
创建 PR
测试工作负载后,从您的派生(fork)创建拉取请求 (PR) 到 opensearch-project
工作负载存储库。在 PR 描述中添加示例输出和摘要结果。OpenSearch Benchmark 维护者将审核该 PR。
PR 批准后,您必须共享数据集的数据语料库。OpenSearch Benchmark 团队随后可以将数据集添加到共享的 S3 存储桶中。如果您的数据语料库存储在 S3 存储桶中,您可以使用 AWS DataSync 共享数据语料库。否则,您必须告知维护者数据语料库的存储位置。