View a markdown version of this page

Auto-Tune 适用于亚马逊 OpenSearch 服务 - 亚马逊 OpenSearch 服务

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

Auto-Tune 适用于亚马逊 OpenSearch 服务

Auto-Tune 在 Amazon S OpenSearch ervice 中,使用 OpenSearch 集群中的性能和使用率指标来建议与内存相关的配置更改,包括队列和缓存大小以及节点上的 Java 虚拟机 (JVM) 设置。这些可选更改可提高集群速度和稳定性。

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

重要

如果您尚未为域名配置自定义的非高峰时段,则 Auto-Tune 将使用默认的非高峰时段。 Blue/green 部署更改(例如 JVM 堆大小和 JVM 年轻一代调整)将在此窗口期间应用。在启用之前,请确保您已经查看并配置了非高峰期窗口设置 Auto-Tune ,以避免意外 blue/green 部署。有关更多信息,请参阅 Amazon OpenSearch 服务Off-peak 窗口

Auto-Tune 适用于运行任何 OpenSearch版本或 Elasticsearch 6.7 或更高版本且实例类型支持的域名。

更改类型

Auto-Tune 有两大类更改:

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

  • 需要blue/green 部署的更改,它适用于域的非高峰时段。

根据您域名的绩效指标, Auto-Tune 可以建议对以下设置进行调整:

更改类型 类别 说明

JVM 堆大小

Blue/green

默认情况下, OpenSearch 服务将实例 RAM 的 50% 用于 JVM 堆,堆大小不超过 32 GiB。

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

JVM 年轻一代设置

Blue/green

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

队列大小

无中断

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

缓存大小

无中断

字段缓存监视堆上的数据结构,因此监控缓存的使用情况非常重要。 Auto-Tune调整现场数据缓存的大小,以避免内存不足和断路器问题。

分片请求缓存是在节点级别管理的,其默认最大大小为堆的 1%。 Auto-Tune 调整分片请求缓存大小,以接受比已配置集群所能处理的更多的搜索和索引请求。

请求大小 无中断

默认情况下,当运行中请求的总大小超过 JVM 总量的 10%(实例类型为 2%,t2实例类型为 1%t3.small)时,会 OpenSearch 限制所有新_bulk请求_search和请求,直到现有请求完成。

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

监控 Auto-Tune 更改

您可以在中监控 Auto-Tune 统计信息 Amazon CloudWatch。有关指标的完整列表,请参阅Auto-Tune 指标

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