自动调整 Amazon OpenSearch Service - 亚马逊 OpenSearch 服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

自动调整 Amazon OpenSearch Service

Amazon OpenSearch Service 服务中的自动调整使用 OpenSearch 集群中的性能和使用情况指标建议与内存相关的配置更改,包括节点上的队列和缓存大小以及 Java 虚拟机(JVM)设置。这些可选更改可提高集群速度和稳定性。

一些更改会立即部署,另一些更改则安排在域的非高峰时段部署。您可以随时恢复到默认 OpenSearch 服务设置。随着自动调整收集和分析域的性能指标,您可以在通知页上面的 OpenSearch Service 控制台中查看其建议。

自动调整可在运行任何 OpenSearch 版本或 Elasticsearch 6.7 或更高版本的域上的商业 Amazon Web Services 区域 中在受支持的实例类型上使用。

更改类型

自动调整有两大类更改:

  • 集群运行时应用的无中断更改。

  • 需要蓝绿部署的更改将在域的非高峰时段应用。

根据您域的性能指标,“自动调整”可以建议对以下设置进行调整:

更改类型 类别 描述

JVM 堆大小

蓝/绿

默认情况下,OpenSearch Services 将实例的 RAM 的 50% 用于 JVM 堆,最大堆大小为 32 GiB。

增加此百分比可以给 OpenSearch 更多的内存,但为操作系统和其他进程留下的内存较少。较大的值可以减少垃圾回收暂停的数量,但会增加这些暂停的长度。

JVM 年轻一代设置

蓝/绿

JVM“年轻一代”设置会影响次要垃圾收集的频率。更频繁的次要收集可以减少主要收集和暂停的次数。

队列大小

无中断

默认情况下,搜索队列大小为 1000,写入队列大小为 10000。如果有其他堆可用于处理请求,则自动调整会自动缩放搜索和写入队列。

缓存大小

无中断

字段缓存监控堆上的数据结构,因此监控缓存的使用非常重要。自动调整可调整字段数据高速缓存大小,以避免内存不足和断路器问题。

这些区域有:分片请求缓存在节点级别进行管理,并且默认的最大大小为堆的 1%。自动调整可扩展分片请求高速缓存大小,以接受比配置的集群能够处理的更多搜索和索引请求。

请求大小 无中断

默认情况下,当正在进行的请求的合计大小超过 JVM 总数的 10% 时(对于 t2 实例类型为 2%,对于 t3.small 为 1%),OpenSearch 将会限制所有新的 _search_bulk 请求,直到现有请求完成。

自动调整将会根据系统上当前占用的 JVM 量自动调整此阈值,通常在 5-15% 之间。例如,如果 JVM 内存压力大,则自动调整可能会将阈值降至 5%,此时,您可能会看到更多拒绝,直到集群稳定和阈值提高。

监控自动调整更改

您可以在 Amazon CloudWatch 中监控自动调整统计数据。有关指标的完整列表,请参阅自动调整指标

OpenSearch Service 将自动调整事件发送到 Amazon EventBridge。您可以使用 EventBridge 配置在收到事件时发送电子邮件或执行特定操作的规则。要查看发送到 EventBridge 的每个自动调整事件的格式,请参阅 自动调整事件