确定容量要求
在创建容量预留之前,您可以估算所需的容量,以向其分配正确的 DPU 数。在使用预留后,您可能需要检查预留的容量是不足还是过剩。本主题介绍了可用于进行这些估算的方法,同时介绍了一些用于评估使用量和成本的 AWS 工具。
估算所需容量
在估算容量需求时,建议考虑两个方面:特定查询可能需要的容量数量以及大体上可能需要的容量数量。
估算每个查询的容量需求
要确定查询可能需要的 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 会将您的查询搁置在队列中,并在容量可用时运行这些查询。
如果您的目标是在固定预算内运行查询,则可以使用 AWS 定价计算器
最后,请记住,数据大小、存储格式和查询写入方式都会影响查询所需的 DPU 数量。要提高查询性能,可对数据进行压缩或分区,或者将其转换为列格式。有关更多信息,请参阅 优化 Athena 性能。
表明需要更多容量的迹象
容量不足错误消息和查询排队均表明您分配的容量不足。
如果您的查询失败并显示容量不足错误消息,则容量预留的 DPU 数过低,无法满足查询工作。例如,如果您的预留包含 24 个 DPU,并且运行的查询需要超过 24 个 DPU,则查询将失败。要监控此查询错误,可以使用 Athena 的 EventBridge 事件。尝试添加更多 DPU,并重新运行查询。
如果许多查询在排队,这意味着您的容量已被其他查询完全占据。要减少排队时间,请执行以下操作之一:
-
向预留添加 DPU 以提高查询并发性。
-
从预留中移除工作组,以释放容量供其他查询使用。
要检查查询排队是否过多,使用容量预留中工作组的 Athena 查询队列时间 CloudWatch 指标。如果该值高于您的首选阈值,则可以将 DPU 添加至容量预留。
检查是否存在空闲容量
要检查是否存在空闲容量,您可以减少预留中的 DPU 数或增加其工作负载,然后观察结果。
检查是否存在空闲容量
-
请执行以下操作之一:
-
减少预留中的 DPU 数(减少可用资源)
-
向预留添加工作组(增加工作负载)
-
-
使用 CloudWatch 测量查询队列时间。
-
如果队列时间超过所需水平,执行以下任一操作
-
移除工作组
-
将 DPU 添加至容量预留
-
-
在每次更改后,都要检查性能和查询队列时间。
-
继续调整工作负载和/或 DPU 数以达到所需的平衡。
如果不希望在首选时间段范围之外保持容量,则可以取消预留并稍后创建另一个预留。但是,即使您最近取消了另一个预留的容量,也无法保证会请求新的容量,并且创建新的预留需要花费一些时间。
您可以使用 AWS 中的以下服务和功能测量 Athena 的使用情况和成本。
CloudWatch 指标
您可以将 Athena 配置为在工作组级别下向 Amazon CloudWatch 发布查询相关指标。为工作组启用指标后,工作组查询的指标将在 Athena 控制台的工作组详细信息页面中显示。
有关发布到 CloudWatch 的 Athena 指标及其维度的信息,请参阅 使用 CloudWatch 监控 Athena 查询指标。
CloudWatch 使用情况指标
您可以使用 CloudWatch 用量指标在 CloudWatch 图表和控制面板上显示当前服务使用情况,以展示您的账户对资源的使用情况。对于 Athena,用量可用性指标对应于 AWS 服务限额。您可以配置警报,以在用量接近服务限额时向您发出警报。
有关更多信息,请参阅 使用 CloudWatch 监控 Athena 使用情况指标。
Amazon EventBridge 事件
您可以将 Amazon Athena 与 Amazon EventBridge 结合使用来接收有关查询状态的实时通知。当已提交查询的状态发生变化时,Athena 将向 EventBridge 发布一个包含有关查询状态转换的信息的事件。您可以针对感兴趣的事件编写简单规则,并在事件匹配规则时执行自动化操作。
有关详细信息,请参阅以下资源:
标签
在 Athena 中,容量预留支持标签。每个标签均包含一个键和一个值。要在 Athena 中跟踪成本,您可以使用 AWS 生成的成本分配标签。AWS 使用成本分配标签对成本和使用率报告上的资源成本进行组织。这样您可以更轻松地对 AWS 成本进行分类和跟踪。要激活 Athena 的成本分配标签,您可以使用 AWS Billing and Cost Management 控制台
有关详细信息,请参阅以下资源: