自动调整 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%,此时,您可能会看到更多拒绝,直到集群稳定和阈值提高。

启用或禁用自动调整

默认情况下,OpenSearch Service 在新域中启用自动调整。要在现有域上启用或禁用自动调整,我们建议使用控制台,这简化了过程。启用自动调整不会导致蓝/绿部署。

您目前无法使用 Amazon CloudFormation 启用或禁用自动调整。

对现有域启用自动调整
  1. https://console.aws.amazon.com/aos/home 打开 Amazon OpenSearch Service 控制台。

  2. 在导航窗格中的下,选择域名以打开集群配置。

  3. 如果尚未启用自动调整,请选择启用

  4. 或者,选择非高峰时段,安排在域配置的非高峰时段执行需要蓝绿部署的优化。有关更多信息,请参阅计划自动调整增强功能

  5. 选择保存更改

要使用 Amazon CLI 启用自动调整,请发送 UpdateDomainConfig 请求:

aws opensearch update-domain-config \ --domain-name my-domain \ --auto-tune-options DesiredState=ENABLED

计划自动调整增强功能

2023 年 2 月 16 日之前,自动调整使用维护时段计划需要蓝绿部署的更改。现在已弃用维护时段,取而代之的是非高峰时段,即每天域流量通常较低的 10 小时时段。您可以修改非高峰时段的默认开始时间,但不能修改长度。

在 2023 年 2 月 16 日推出非高峰时段之前启用自动调整维护时段的所有域均可继续沿用旧版无间断维护时段。但是,我们建议您迁移现有域,改用非高峰时段进行域维护。有关说明,请参阅 从自动调整维护窗口迁移

计划在非高峰时段执行自动调整操作
  1. https://console.aws.amazon.com/aos/home 打开 Amazon OpenSearch Service 控制台。

  2. 在导航窗格中的下,选择域名以打开集群配置。

  3. 转到自动调整选项卡,选择编辑

  4. 如果尚未启用自动调整,请选择启用

  5. 计划在非高峰时段执行优化下,选择非高峰时段

  6. 选择保存更改

要配置域计划在配置的非高峰时段执行自动调整操作,请在 UpdateDomainConfig 请求中纳入 UseOffPeakWindow

aws opensearch update-domain-config \ --domain-name my-domain \ --auto-tune-options DesiredState=ENABLED,UseOffPeakWindow=true,MaintenanceSchedules=null

监控自动调整更改

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

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