选择工作负载
opensearch-benchmark-workloads 存储库包含一个您可以用于运行基准测试的工作负载列表。使用与您的集群用例相似的工作负载,可以在评估集群性能时节省时间和精力。
例如,假设您是某出行共享公司的系统架构师。作为一家出行共享公司,您收集和存储基于行程时间、地点以及与每次出行相关的其他数据。与其构建自定义工作负载并使用自己的数据(这需要额外的时间、精力和成本),您可以使用 nyc_taxis 工作负载来对您的集群进行基准测试,因为该工作负载内的数据与您收集的数据相似。
选择工作负载的标准
在决定哪种工作负载最适合您的集群基准测试时,请考虑以下标准:
- 集群的用例和集群大小。小型集群通常包含 1-10 个节点,适用于开发环境。中型集群通常包含 11-50 个节点,用于更接近生产集群的测试环境。
- 您的集群使用的数据类型与工作负载中包含文档的数据结构之间的比较。每个工作负载都包含一个示例文档,以便您可以比较数据类型,或者您可以在
index.json
文件中查看索引映射和数据类型。 - 您的集群中最常用的查询类型。
operations/default.json
文件包含有关查询类型和工作负载操作的信息。有关常见操作的列表,请参阅常见操作。
通用搜索用例:nyc_taxis
对于为通用搜索用例构建的集群进行基准测试,请从 nyc_taxis 工作负载开始。它包含以下内容:
- 数据类型:2015年纽约市黄色出租车的乘车数据。
- 集群要求:适用于小型到中型集群。
此工作负载测试以下查询和搜索功能:
- 范围查询
- 对各种字段的术语查询
- 地理距离查询
- 聚合
向量数据:vectorsearch
vectorsearch
工作负载旨在对向量搜索功能进行基准测试,包括性能和准确性。它包含以下内容:
- 数据类型:高维向量数据,通常表示文本或图像的嵌入。
- 集群要求:需要启用向量搜索功能的集群。
此工作负载测试以下查询和搜索功能:
- k-NN 向量搜索
- 结合向量相似度和元数据过滤的混合搜索
- 高维向量数据的索引性能
综合搜索解决方案:big5
big5 工作负载是一个全面的基准测试套件,用于测试搜索引擎性能的各个方面,包括跨多个用例的整体搜索引擎性能。它包含以下内容:
- 数据类型:混合了不同数据类型,包括文本、数字和结构化数据。
- 集群要求:适用于中型到大型集群,因为它旨在对各种组件进行压力测试。
此工作负载测试以下查询和搜索功能:
- 全文搜索性能
- 聚合性能
- 复杂布尔查询
- 排序和分页
- 各种数据类型的索引性能
Percolator 查询:percolator
percolator 工作负载旨在测试 percolator
查询类型的性能。它包含以下内容:
- 数据类型:一组存储的查询和要与这些查询匹配的文档。
- 集群要求:适用于大量使用 percolator 功能的集群。
此工作负载测试以下查询和搜索功能:
- 存储查询的索引性能
- percolator 查询的匹配性能
- 随着存储查询数量增加的可扩展性
日志数据:http_logs
对于使用日志数据进行索引和搜索的集群进行基准测试,请使用 http_logs 工作负载。它包含以下内容:
- 数据类型:来自1998年世界杯网站的HTTP访问日志。
- 集群要求:适用于针对时间序列数据和日志分析进行优化的集群。
此工作负载测试以下查询和搜索功能:
- 时间范围查询
- 对
status-code
或user-agent
等字段的术语查询 - 针对请求计数和平均响应大小等指标的聚合
- 对
ip-address
等字段的基数聚合。
创建自定义工作负载
如果找不到适合您需求的官方工作负载,您可以创建自定义工作负载。有关更多信息,请参阅创建自定义工作负载。