确定容量要求 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

确定容量要求

在创建容量预留之前,您可以估算所需的容量,以向其分配正确的 DPU 数。在使用预留后,您可能需要检查预留的容量是不足还是过剩。本主题介绍了可用于进行这些估算的方法,同时介绍了一些用于评估使用量和成本的 Amazon 工具。

估算所需容量

在估算容量需求时,建议考虑两个方面:特定查询可能需要的容量数量以及大体上可能需要的容量数量。

估算每个查询的容量需求

要确定查询可能需要的 DPU 数,可遵循以下准则:

  • DDL 查询消耗 4 个 DPU。

  • DML 查询会消耗 4 到 124 个 DPU。

Athena 会在提交查询时确定 DML 查询所需的 DPU 数。该数量取决于数据大小、存储格式、查询构造和其他因素。通常,Athena 会尝试选择最低且最高效的 DPU 数。如果 Athena 确定查询需要更高的计算能力才能成功完成,则它会增加分配给查询的 DPU 数。

估算特定于工作负载的容量需求

要确定同时运行多个查询可能需要的容量数量,请遵循下表中的常规准则:

并发查询 所需 DPU 数量
10 大于等于 40
20 大于等于 96
大于等于 30 大于等于 240

请注意,所需的实际 DPU 数量取决于您的目标和分析模式。例如,如果您希望查询立即开始而不排队,确定您的并发查询需求峰值,然后相应地预置 DPU 数量。

您可以配置低于峰值需求的 DPU 数,但是在出现需求峰值时,可能会导致排队。出现排队时,Athena 会将您的查询搁置在队列中,并在容量可用时运行这些查询。

如果您的目标是在固定预算内运行查询,则可以使用 Amazon 定价计算器来确定适合自己预算的 DPU 数。

最后,请记住,数据大小、存储格式和查询写入方式都会影响查询所需的 DPU 数量。要提高查询性能,可对数据进行压缩或分区,或者将其转换为列格式。有关更多信息,请参阅 Athena 中的性能优化

表明需要更多容量的迹象

容量不足错误消息和查询排队均表明您分配的容量不足。

如果您的查询失败并显示容量不足错误消息,则容量预留的 DPU 数过低,无法满足查询工作。例如,如果您的预留包含 24 个 DPU,并且运行的查询需要超过 24 个 DPU,则查询将失败。要监控此查询错误,可以使用 Athena 的 EventBridge 事件。尝试添加更多 DPU,并重新运行查询。

如果许多查询在排队,这意味着您的容量已被其他查询完全占据。要减少排队时间,请执行以下操作之一:

  • 向预留添加 DPU 以提高查询并发性。

  • 从预留中移除工作组,以释放容量供其他查询使用。

要检查查询排队是否过多,使用容量预留中工作组的 Athena 查询队列时间 CloudWatch 指标。如果该值高于您的首选阈值,则可以将 DPU 添加至容量预留。

检查是否存在空闲容量

要检查是否存在空闲容量,您可以减少预留中的 DPU 数或增加其工作负载,然后观察结果。

检查是否存在空闲容量
  1. 请执行以下操作之一:

    • 减少预留中的 DPU 数(减少可用资源)

    • 向预留添加工作组(增加工作负载)

  2. 使用 CloudWatch 测量查询队列时间。

  3. 如果队列时间超过所需水平,执行以下任一操作

    • 移除工作组

    • 将 DPU 添加至容量预留

  4. 在每次更改后,都要检查性能和查询队列时间。

  5. 继续调整工作负载和/或 DPU 数以达到所需的平衡。

如果不希望在首选时间段范围之外保持容量,则可以取消预留并稍后创建另一个预留。但是,即使您最近取消了另一个预留的容量,也无法保证会请求新的容量,并且创建新的预留需要花费一些时间。

用于评估容量需求和成本的工具

您可以使用 Amazon 中的以下服务和功能测量 Athena 的使用情况和成本。

CloudWatch 指标

您可以将 Athena 配置为在工作组级别下向 Amazon CloudWatch 发布查询相关指标。为工作组启用指标后,工作组查询的指标将在 Athena 控制台的工作组详细信息页面中显示。

有关发布到 CloudWatch 的 Athena 指标及其维度的信息,请参阅 使用 CloudWatch 指标监控 Athena 查询

CloudWatch 使用情况指标

您可以使用 CloudWatch 用量指标在 CloudWatch 图表和控制面板上显示当前服务使用情况,以展示您的账户对资源的使用情况。对于 Athena,用量可用性指标对应于 Amazon 服务限额。您可以配置警报,以在用量接近服务限额时向您发出警报。

有关更多信息,请参阅 监控 Athena 用量指标

Amazon EventBridge 事件

您可以将 Amazon Athena 与 Amazon EventBridge 结合使用来接收有关查询状态的实时通知。当已提交查询的状态发生变化时,Athena 将向 EventBridge 发布一个包含有关查询状态转换的信息的事件。您可以针对感兴趣的事件编写简单规则,并在事件匹配规则时执行自动化操作。

有关详细信息,请参阅以下资源:

标签

在 Athena 中,容量预留支持标签。每个标签均包含一个键和一个值。要在 Athena 中跟踪成本,您可以使用 Amazon 生成的成本分配标签。Amazon 使用成本分配标签对成本和使用率报告上的资源成本进行组织。这样您可以更轻松地对 Amazon 成本进行分类和跟踪。要激活 Athena 的成本分配标签,您可以使用 Amazon Billing and Cost Management 控制台

有关详细信息,请参阅以下资源: