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