2026-01
OpenSearch 优化实例 (OR1) 在索引性能和成本上具有颠覆性 大数据博客
OR1实例:改变索引性能和成本的游戏规则
关键要点
OR1实例为使用Amazon OpenSearch Service提供了成本效益高的海量数据存储方式。相较于传统的实例,OR1在索引性能和CPU使用率上具有显著优势。在持续的高负载下,OR1实例具备更好的可扩展性和更低的成本。OR1使用简化的主分片策略,允许更多的并发处理,提升了整体吞吐量。在这篇文章中,我们将深入分析OR1实例类型,探索它如何提升OpenSearch工作负载的性能。OR1实例是2023年11月29日发布的一种专为Amazon OpenSearch Service优化的实例。
OR1实例概述
OR1是Amazon OpenSearch Service的一种实例类型,能够以低成本存储大量数据。使用OR1实例的域利用Amazon Elastic Block Store (Amazon EBS)卷作为主要存储,并将数据同步复制到Amazon Simple Storage Service (Amazon S3)。OR1实例提供更高的索引吞吐量和卓越的耐久性。
为了更详细地了解OR1,请查看这篇介绍博客文章。
当您正在积极向索引写入时,建议至少保留一个副本。但在数据归档后,可以在不影响可用性的情况下切换到零副本,因为数据会被持久化在Amazon S3中。
加速器永久免费破解版需要注意的是,如果发生节点故障及更换,您的数据会在Amazon S3中自动恢复,但在修复过程中数据会暂时不可用,因此不适合高可用性要求的操作。
目标
本文旨在探索OR1实例对OpenSearch工作负载性能的影响。
通过提供分段复制,OR1实例只需在主分片上进行索引,从而节省CPU周期。这意味着节点能够在相同的计算资源下索引更多数据,或者用更少的资源进行索引,从而为搜索和其他操作腾出更多资源。
设置
为进行性能测试,我们设置了多个组件,如下所示:
测试过程
AWS Step Functions负责初始化步骤,清理环境并设置索引映射,跑批量测试。AWS Batch并行运行作业,来索引以OpenTelemetry JSON格式的日志数据。作业运行一个自定义的Rust程序,使用OpenSearch Rust客户端生成随机日志,并采用AWS身份与访问管理 (IAM)进行身份验证。OpenSearch Service域被设置为OpenSearch 211,具有两个可用区、细粒度访问控制、使用AWS密钥管理服务 (AWS KMS)的静态加密、以及通过TLS的传输加密。测试协议
实验的协议参数如下:
数据节点数量:6或12作业并行性:75,40主分片数量:12,48,96针对12个节点副本数量:1共2个副本实例类型每个实例有16个vCPU:集群实例类型vCPURAMJVM大小or1targetor14xlargesearch1612832im4gntargetim4gn4xlargesearch166432r6gtargetr6g4xlargesearch1612832性能测试结果
我们开始以75个并行作业执行750次批量处理每批4000个文档合计225亿文档,然后调整分片数、数据节点、副本和作业。
配置1:6个数据节点,12个主分片,1个副本以下是此配置的性能结果:
集群CPU使用率耗时索引速度or1target658024分钟156 kdoc/sim4gntarget899734分钟110 kdoc/sr6gtarget889534分钟110 kdoc/s
可以看出,OR1的CPU使用率持续低于80,表现良好。请记住,在生产环境中,必须使用指数回退的方式重试索引,以避免因间歇性失败而丢失未索引的文档。
通过将并行作业从75减少到40,同时保持750批次的4000个文档总计120M文档,我们得到以下结果:
集群CPU使用率耗时索引速度or1target256020分钟100 kdoc/sim4gntarget759319分钟105 kdoc/sr6gtarget779020分钟100 kdoc/s配置2:6个数据节点,48个主分片,1个副本
在此配置中,我们将主分片数量从12增加到48,以提高并行索引能力。
集群CPU使用率耗时索引速度or1target608021分钟178 kdoc/sim4gntarget679534分钟110 kdoc/sr6gtarget708837分钟101 kdoc/s配置3:12个数据节点,96个主分片,1个副本
在此配置中,我们从6个增加到12个数据节点,并将主分片数量增加到96。
集群CPU使用率耗时索引速度or1target406018分钟208 kdoc/sim4gntarget749020分钟187 kdoc/sr6gtarget607824分钟156 kdoc/s结论和推荐
新推出的OR1实例类型提供了比其他实例类型更强的索引能力,适合索引密集型工作负载。OR1实例的售价每性能提升了30。在添加多个副本时,OR1实例的索引吞吐量几乎不受CPU影响,而其他实例则受到较大影响。
如需更多信息,请参考有关索引优化的完整说明重新发布的文章。
关于作者
Cdric Pelvet是一位首席AWS专业解决方案架构师,他帮助客户设计可扩展的实时数据和搜索工作负载解决方案。在业余时间,他喜欢学习新语言和练习小提琴。