

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

# Amazon Managed Service for Prometheus 服务配额
<a name="AMP_quotas"></a>

以下两个部分介绍了与 Amazon Managed Service for Prometheus 相关的配额和限制。

## 服务配额
<a name="AMP-series-label-limits"></a>

Amazon Managed Service for Prometheus 的限额如下。适用于 Prometheus 的亚马逊托管服务提供[使用率指标来监控 Prometheu CloudWatch s 的资源使用情况](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-CW-usage-metrics.html)。使用亚马逊 CloudWatch 使用指标警报功能，您可以监控 Prometheus 的资源和使用情况，以防止出现限制错误。

随着项目和工作区增长，您应监控或请求增加的最常见配额是：**每个工作区的活跃系列数**和**每个工作区的摄取率**。

对于所有可调整配额，您可以通过选择**可调整**列中的链接或[请求增加配额](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase)来请求增加配额。

*每个工作区的活跃系列*限制是动态应用的。有关更多信息，请参阅 [活跃系列默认配额](#AMP-dynamic-series)。*每个工作区的摄取率*配额决定了您将数据摄入到工作区的速度。有关更多信息，请参阅 [摄取节流](#AMP-request-throttling)。

**注意**  
除非另有说明，否则这些限额适用于每个工作区。每个工作区的活跃系列的最大值为十亿。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prometheus/latest/userguide/AMP_quotas.html)

## 活跃系列默认配额
<a name="AMP-dynamic-series"></a>

Amazon Managed Service for Prometheus 工作区会自动根据您的摄取使用量进行调整。随着使用量增加，该服务将自动增加时间序列容量，直至达到默认配额。

Amazon Managed Service for Prometheus 工作区会根据使用量自动扩展，方式有两种：

1. 当 30 分钟平均使用量低于 500 万个系列时，容量将翻一番（例如，使用量为 350 万的工作区获得 700 万的容量）。

1. 当使用量超过 500 万个系列时，工作区会增加 1000 万的缓冲区（例如，使用量为 2500 万的工作区将获得 3500 万容量）。

Amazon Managed Service for Prometheus 会随着摄取量增加自动分配更多容量，直至您的配额。这有助于确保您的工作负载不会持续受到节流。但是，如果与过去 30 分钟内计算出的先前基准值相比增加了一倍或超过 1000 万，则可能会出现节流。为避免节流，Amazon Managed Service for Prometheus 建议在增加到超过之前的基准值时逐渐增加摄入量。

**注意**  
活跃时间序列的最小容量为 200 万，并且当序列少于 200 万时没有节流。  
要超出其默认配额，您可以请求[增加配额](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase)。

## 扩展到超出默认配额
<a name="AMP-above-default-quota"></a>

当您请求将配额增加到超过默认活跃系列配额时，Amazon Managed Service for Prometheus 会相应地调整您的工作区容量。如果您没有充分利用增加的容量，该服务将随着时间推移收回未使用的部分。随着使用量增长，工作区将再次自动纵向扩展。

但是，如果活跃时间序列比过去 2 小时计算的上一个基准值增加了一倍以上或超过 5000 万个，则可能会发生节流。例如：
+ 如果配额为 1 亿，而基准值为 3000 万，则可以在 2 小时内纵向扩展到 6000 万，而不会发生节流。
+ 如果配额为 1 亿，而基准值为 5000 万，则可以在 2 小时内纵向扩展到整 1 亿，而不会发生节流。

## 摄取节流
<a name="AMP-request-throttling"></a>

Amazon Managed Service for Prometheus 会根据您当前的限制对每个工作区的摄取量进行节流。这有助于保持工作区的性能。如果你超过了限制，你将在 CloudWatch 指标`DiscardedSamples`中看到（并附上`rate_limited`原因）。您可以使用 CloudWatch 监控您的摄取量，也可以创建警报，在接近限制限制时向您发出警报。有关更多信息，请参阅 [使用 CloudWatch 指标监控亚马逊托管服务的 Prometheus 资源](AMP-CW-usage-metrics.md)。

Amazon Managed Service for Prometheus 使用[令牌存储桶算法](https://en.wikipedia.org/wiki/Token_bucket)来实现摄取节流。使用此算法，您的账户拥有一个持有特定数量的*令牌*的*存储桶*。存储桶中的令牌数表示您在任何给定秒钟的摄取上限。

每摄取一个数据样本，就会从存储桶中移除一个令牌。如果您的存储桶大小（*每个工作区的摄取率*）为 *1000000*，那么您的工作区可以在一秒钟内摄取一百万个数据样本。如果要摄取的样本超过一百万个，就会被节流，不再摄取任何记录。其他数据样本将被丢弃。

存储桶会以设定的速率自动重填。如果存储桶的容量低于其最大容量，则每秒都会向其添加一定数量的令牌，直到其达到最大容量。如果重填令牌到达时存储桶已满，令牌就会被丢弃。存储桶中的令牌数量不能超过其最大数量。样本摄取的重填速率由*每个工作区的摄取速率*限制来设置。如果将*每个工作区的摄取速率*设置为 170,000，则存储桶的重填速率为每秒 170,000 个令牌。

如果您的工作区在一秒钟内摄取 1,000,000 个数据样本，您的存储桶就会立即缩减为零令牌。然后，存储桶中每秒重填 170,000 个令牌，直至达到其 1,000,000 个令牌的最大容量。如果不再进行摄取，则之前空的存储桶将在 6 秒钟内恢复到最大容量。

**注意**  
摄取以批处理请求的方式进行。如果您有 100 个可用令牌，却发送了包含 101 个样本的请求，那么整个请求都会被拒绝。Amazon Managed Service for Prometheus 不部分接受请求。如果您正在编写收集器，则可以管理重试（使用较小的批次或在一段时间后重试）。

在工作区摄取更多数据样本之前，您无需等待存储桶填满。您可以在令牌被添加到存储桶时使用这些令牌。如果您立即使用重填令牌，存储桶就不会达到最大容量。例如，如果您耗尽了存储桶，您可以继续每秒摄取 170,000 个数据样本。只有当每秒摄取的数据样本少于 170,000 个时，存储桶才能重填到最大容量。

## 摄取数据的额外限制
<a name="AMP-ingest-limits"></a>

Amazon Managed Service for Prometheus 对摄取到工作区的数据有以下额外要求。这些不可调整。
+ 超过 1 小时的指标样本会拒绝摄取。
+ 每个样本和元数据都必须有一个指标名称。