

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

# Amazon OpenSearch 服务自动调整
<a name="auto-tune"></a>

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

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

[自动调整可在运行任何 OpenSearch版本或 Elasticsearch 6.7 或更高版本且实例类型支持的域名 Amazon Web Services 区域 上以商业形式提供。](supported-instance-types.md)

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

自动调整有两大类更改：
+ 集群运行时应用的无中断更改。
+ 需要[蓝绿部署](managedomains-configuration-changes.md)的更改将在域的非高峰时段应用。

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


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

## 监控自动调整更改
<a name="auto-tune-monitor"></a>

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

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