

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

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

# 启用或禁用自动调整
<a name="auto-tune-enable"></a>

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

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

## 控制台
<a name="auto-tune-enable-console"></a>

**对现有域启用自动调整**

1. 在[https://console.aws.amazon.com/aos/家](https://console.amazonaws.cn/aos/home )中打开亚马逊 OpenSearch 服务控制台。

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

1. 如果尚未启用自动调整，请选择**启用**。

1. （可选）选择**非高峰时段**，以安排需要在域配置的非高峰时段进行 blue/green 部署的优化。有关更多信息，请参阅 [计划自动调整增强功能](auto-tune-schedule.md)。

1. 选择**保存更改**。

## CLI
<a name="auto-tune-enable-cli"></a>

要使用启用自动调整 Amazon CLI，[UpdateDomainConfig](https://docs.amazonaws.cn/opensearch-service/latest/APIReference/API_UpdateDomainConfig.html)请发送请求：

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

# 计划自动调整增强功能
<a name="auto-tune-schedule"></a>

在 2023 年 2 月 16 日之前，Auto-Tune 使用*维护窗口*来安排需要 blue/green 部署的更改。现在已弃用维护时段，取而代之的是[非高峰时段](off-peak.md)，即每天域流量通常较低的 10 小时时段。您可以修改非高峰时段的默认开始时间，但不能修改长度。

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

## 控制台
<a name="auto-tune-schedule-console"></a>

**计划在非高峰时段执行自动调整操作**

1. 在[https://console.aws.amazon.com/aos/家](https://console.amazonaws.cn/aos/home )中打开亚马逊 OpenSearch 服务控制台。

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

1. 转到**自动调整**选项卡，选择**编辑**。

1. 如果尚未启用自动调整，请选择**启用**。

1. 在**计划在非高峰时段执行优化**下，选择**非高峰时段**。

1. 选择**保存更改**。

## CLI
<a name="auto-tune-schedule-cli"></a>

要将您的域配置为在配置的非高峰时段内安排自动调整操作，请在请求`UseOffPeakWindow`中[UpdateDomainConfig](https://docs.amazonaws.cn/opensearch-service/latest/APIReference/API_UpdateDomainConfig.html)包括：

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

## 监控自动调整更改
<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)。