

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

# Auto-Tune 适用于亚马逊 OpenSearch 服务
<a name="auto-tune"></a>

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 窗口](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html)。

Auto-Tune 适用于运行任何 OpenSearch版本或 Elasticsearch 6.7 或更高版本且实例类型[支持的](supported-instance-types.md)域名。

## 更改类型
<a name="auto-tune-types"></a>

Auto-Tune 有两大类更改：
+ 集群运行时应用的无中断更改。
+ 需要[blue/green 部署](managedomains-configuration-changes.md)的更改，它适用于域的非高峰时段。

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


| 更改类型 | 类别 | 说明 | 
| --- | --- | --- | 
| JVM 堆大小 | Blue/green | 默认情况下， OpenSearch 服务将实例 RAM 的 50% 用于 JVM 堆，堆大小不超过 32 GiB。<br />增加此百分比可 OpenSearch 获得更多内存，但留给操作系统和其他进程的内存却更少。较大的值可以减少垃圾回收暂停的数量，但会增加这些暂停的长度。 | 
| JVM 年轻一代设置 | Blue/green | JVM“年轻一代”设置会影响次要垃圾收集的频率。更频繁的次要收集可以减少主要收集和暂停的次数。 | 
| 队列大小 | 无中断 | 默认情况下，搜索队列大小为`1000`，写入队列大小为`10000`。 Auto-Tune 如果有其他堆可用于处理请求，则会自动扩展搜索和写入队列。 | 
| 缓存大小 | 无中断 | *字段缓存*监视堆上的数据结构，因此监控缓存的使用情况非常重要。 Auto-Tune调整现场数据缓存的大小，以避免内存不足和断路器问题。<br />*分片请求缓存*是在节点级别管理的，其默认最大大小为堆的 1%。 Auto-Tune 调整分片请求缓存大小，以接受比已配置集群所能处理的更多的搜索和索引请求。 | 
| 请求大小 | 无中断 | 默认情况下，当运行中请求的总大小超过 JVM 总量的 10%（实例类型为 2%，`t2`实例类型为 1%`t3.small`）时，会 OpenSearch 限制所有新`_bulk`请求`_search`和请求，直到现有请求完成。<br />Auto-Tune 根据系统上当前占用的 JVM 量，自动调整此阈值，通常在 5-15% 之间。例如，如果 JVM 内存压力很高，则 Auto-Tune 可能会将阈值降低到 5%，此时您可能会看到更多的拒绝，直到集群稳定且阈值增加。 | 

## 监控 Auto-Tune 更改
<a name="auto-tune-monitor"></a>

您可以在中监控 Auto-Tune 统计信息 Amazon CloudWatch。有关指标的完整列表，请参阅[Auto-Tune 指标](managedomains-cloudwatchmetrics.md#managedomains-cloudwatchmetrics-autotune-metrics)。

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