我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
管理亚马逊 OpenSearch Service 域中的亚马逊 EBS 容量吞吐量限制
在这篇博客文章中,我们讨论了
Amazon OpenSearch Service 是一项托管服务,可让您轻松执行网站搜索、交互式日志分析、实时应用程序监控等。基于开源 OpenSearch 套件,亚马逊 OpenSearch Service 允许您搜索、可视化和分析高达 PB 的文本和非结构化数据。
OpenSearch 服务域主要包含具有以下角色集的节点。
-
集群管理器(专用主节点): 负责管理集群并检查集群中数据节点的运行状况。 - 数据:负责提供搜索和索引请求并存储索引数据。
-
Ultrawarm :使用亚马逊 S3 作为后备存储以提供低成本存储的节点。
创建 OpenSearch 服务域时,您可以为具有本地
如果 OpenSearch 服务数据节点存储由 Amazon EBS 卷支持,则视您的工作负载而定,EBS 吞吐量可能会严重影响 OpenSearch 服务域的性能。EBS 卷性能指标由以下两个关键参数定义。
-
IOPS 定义每秒执行的 IO 操作数。 -
吞吐 量 是衡量在给定时间内可以传输多少数据的指标。它通常以每秒字节数来衡量。
每当数据节点的 IOPS 或吞吐量超过数据节点的 EBS 容量或 EC2 实例的最大允许限制时,OpenSearch 服务域就会出现 IOPS 或吞吐量限制。这可能导致较高的搜索和索引延迟,在最坏的情况下还会导致节点崩溃。
数据节点允许的最大 IOPS 和吞吐量
OpenSearch 服务域中 IOPS 的最大允许值或数据节点的吞吐量是以下两个值中的最小值。
- 允许的最大 IOPS 或数据节点 使用的
Amazon EBS 卷 的吞吐量值。 - 允许的最大 IOPS 或数据节点的
EBS 优化实例 类型的吞吐量值。
吞吐量限制及其对亚马逊 OpenSearch Service 域的影响
当数据节点上的 EBS 总吞吐量超过 OpenSearch Service 域中该数据节点的最大允许吞吐量值时,就会发生吞吐量限制。
可以在亚马逊 CloudWatch 控制台的以下位置查看域或节点的 ThroughputThrottle 指标。
- 域名: “es/OpenSearchService > 每个域、每个客户端的指标 ”
- 节点: “es/openSearchService > 客户端 ID、域名、节点 ID ”
吞吐量限制指标中的值为 1 表示域或节点发生了限制事件。
如果域中的数据节点持续受到吞吐量限制,则可能导致该数据节点出现以下性能下降。
- EBS 音量性能较慢。
- 读/写延迟高。
这可能会影响集群管理器或数据节点执行的检查。它可能导致:
- 数据节点执行的 FS(文件系统)运行状况检查失败。
- 由于请求延迟过长,集群管理器执行关注者检查失败。
这将导致集群管理器将此类数据节点标记为不正常,从而导致该数据节点从集群中移除。这可能会导致群集状态变为黄色或红色。
吞吐量值计算
数据节点的总吞吐量是每秒读取和写入 EBS 卷的总字节数。以下指标提供了 Amazon Opensearch 服务域中数据节点的读取和写入吞吐量。
-
readThroughputMicroBursting 考虑微突 发时 EBS 卷上读取操作的吞吐量(以字节每秒为单位) -
writeThroughputMicroBursting 考虑微突 发时 EBS 卷上写入操作的吞吐量(以字节每秒为单位)
OpenSearch 服务域中数据节点的总吞吐量按以下方式计算。
吞吐量 = 读取吞吐量微突发 + 写入吞吐量微突发
要获得数据节点的总吞吐量,请执行以下步骤。
- 转到亚马逊 Cloudwatch 指标。
- 前往 es/openSearchService > 客户端 ID、域名、节点 ID 。
- 选择 “ 读取吞吐量微爆发” 和 “写入吞吐量微爆发 ” 指标。
- 转到 图表化指标 。
- 使用 “添加数学运算” 并创建公式来对 readThroughputMicrobursting 和 WriteThroughputMicroBursting
处理吞吐量限制
当 OpenSearch 服务域中的数据节点上突破允许的最大吞吐量限制时,会向 A
- OpenSearch 服务域的数据节点 的
索引速率 或 搜索率 突然增加。 - 在高峰时段,OpenSearch 服务域上发生的
蓝/绿 事件。 - OpenSearch 服务域规模不足。
我们建议采取以下措施来防止 OpenSearch 服务域的吞吐量限制。
- 监控发往 OpenSearch 服务域的流量,并针对发送到 OpenSearch 服务域的搜索和索引流量创建警报。
- 为 OpenSearch Service 域设置
非高峰时 段 ,以便在需求减少时执行导致蓝/绿 部署的更新。 - 监控 OpenSearch 服务域的
吞吐量限制 集群指标。 - 监控 Open
Se arch 服务域 的分片偏度 。分片偏度可能导致数据节点的流量负载分布不均匀,并可能导致集群中的热节点,这些节点可能会遇到高索引和搜索流量,从而导致节流。 - 如果您达到数据节点的 EBS 卷或 EC2 实例吞吐量限制,则需要扩展 OpenSearch 服务域以避免吞吐量限制。检查数据节点使用的
EBS 卷 和Amazon EBS 优化 实例提供的限制,并相应地向上扩展 OpenSearch 集群。
每种情况都需要具体的调查和适当的措施来解决。尽管如此,我们仍建议将以下准则作为处理吞吐量限制的更广泛方法的一部分。
- 如果大多数时候在一组特定的数据节点上出现高吞吐量,则分片偏度可能会导致节点变热。在这种情况下,解决分片偏度会有所帮助。
- 如果 OpenSearch Service 域遇到不均衡的流量模式,请检查是否突然出现突发流量导致了限制。在这种情况下,简化流量模式可能会有所帮助。
- 如果集群中大多数具有一致流量模式的节点都出现吞吐量限制,则应考虑扩展 OpenSearch Service 域。
结论
在这篇文章中,我们介绍了 OpenSearch 服务域中的 Amazon EBS 吞吐量限制、其影响以及监控和处理它的方法。我们提供了可用于处理此类
相关链接
-
亚马逊开放搜索 -
亚马逊云观察 -
亚马逊 EBS -
亚马逊 EC2
作者简介
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。