Amazon Elasticsearch Service 自动教程 - Amazon Elasticsearch Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

Amazon Elasticsearch Service 自动教程

Amazon Elasticsearch Service (Amazon ES) Auto-Tune 使用Elasticsearch集群中的性能和使用情况指标建议更改节点上的 Java 虚拟机 (JVM) 设置。这些可选更改提高了集群速度和稳定性。

某些更改会立即部署,而其他更改则需要您计划维护时段。您可以随时恢复为Amazon ES默认设置。

当 Auto-Tune 收集和分析您的域的性能指标时,请在 Amazon ES 控制台的 Notifications (通知) 页面上查看其建议。

Auto-Tune 在运行 Elasticsearch 6.7 或更高版本的域上可用,这些域具有支持的实例类型

启用或禁用自动 Tune

Amazon ES 默认情况下, 在新域上启用 Auto-Tune。要禁用它,请在 控制台中清除 选项的复选框,或在 DesiredState 或配置 API "DISABLED" 中将 AWS CLI 指定为 。

要在现有域上启用或禁用 Auto-Tune,我们建议您使用 控制台,这样可大大简化流程。在 控制台中,选择您的域,然后选择 Edit domain (编辑域)。

Auto-Tune 具有两大类更改:

  • 在集群运行时应用的非中断更改

  • 需要蓝/绿部署的更改

如果您在未设置维护时段的情况下启用 Auto-Tune,则 Auto-Tune 仅应用非中断的更改。随着时间的推移,性能优势通常较小,但您可以避免与蓝/绿部署相关的开销。

有关配置维护时段的指南,请参阅计划更改

计划更改

要应用需要蓝/绿部署的更改,请为您的域—安排维护时段 例如,在星期五凌晨 6:00 到 9:00 之间。我们建议针对低流量时间安排维护时段。

  • 要在部署之前查看所有更改,请等待 Auto-Tune 通知您建议的优化。然后,安排一次性维护时段来部署更改。

  • 要获得更自动化的体验,请设置每周维护时段(例如每周六凌晨 2:00),或者对更复杂的计划使用自定义 Cron 表达式

要在 控制台中计划更改,请选择您的域,选择 Auto-Tune 选项卡,选择 Modify,然后选择 Submit。此选项卡还显示您当前的维护时段以及 Auto-Tune 在下一时段内是否将进行任何更改。

Cron 表达式

Auto-Tune 的 Cron 表达式使用与 相同的六个字段语法Amazon CloudWatch Events

minute hour day-of-month month day-of-week year

例如,以下表达式将转换为“2021 年至 2024 年之间每个星期二和星期五凌晨 1:15”:

15 1 ? * 2,5 2021-2024

下表包含每个字段的有效值。

字段 有效值

分钟

0–59

小时

0–23

日期

1–31

112 –或 JAN、FEB、MAR、APR、May、JUN、JUL、AUG、SEP、OCT、NOV、DEC

星期几

–07(0 和 7 均为星期日)或 SUN、MON、TUE、WED、THU、FRI、SAT

年份

1970–2199

日期和星期几重叠,因此,您可以指定一个,但不能同时指定两者。您必须将另一个标记为 ?。有关通配符选项的完整摘要,请参阅 Amazon CloudWatch Events 用户指南

更改类型

根据域的性能指标,Auto-Tune 可以建议调整以下设置。

更改类型 描述

JVM 堆大小

默认情况下, Amazon ES 将实例的 RAM 的 50% 用于 JVM 堆,最大堆大小为 32 GiB。

增加此百分比会提供更多Elasticsearch内存,但会为操作系统和其他进程留下较少的空间。较大的值可以减少垃圾回收暂停的数量,但会增加这些暂停的长度。

JVM 年轻代设置

JVM“年轻代”设置会影响次要垃圾回收的频率。较频繁的次要集合可能会减少主要集合和暂停的数量。