配置预置吞吐量容量模式 - Amazon Keyspaces(Apache Cassandra 兼容)

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

配置预置吞吐量容量模式

如果您选择预置的吞吐容量 模式,则指定您的应用程序需要的每秒读取和写入次数。这有助于您管理 Amazon Keyspaces 使用量,使其保持在或低于定义的请求速率以优化价格并保持可预测性。要详细了解预置吞吐量的自动扩展,请参阅使用 Amazon Keyspaces 自动扩展功能自动管理吞吐容量

如果满足以下任意条件,则预置的吞吐容量模式是很好的选项:

  • 您具有可预测的应用程序流量。

  • 您​运行流量比较稳定或逐渐增加的应用程序。

  • 您可以预测容量要求以优化价格。​

读取容量单位和写入容量单位

对于预置吞吐量容量模式表,您可以根据读取容量单位 (RCUs) 和写入容量单位 () 来指定吞吐容量:WCUs

  • 对于大小不超过 4 KB 的行,一个RCULOCAL_QUORUM表示每秒LOCAL_ONE读取一次,或每秒读取两次。如果您需要读取大于 4 KB 的行,则读取操作会使用额外的RCUs。

    RCUs所需的总数取决于行大小以及您想要LOCAL_QUORUM还是LOCAL_ONE读取。例如,如果您的行大小为 8 KB,则需要 2 RCUs 才能维持每秒LOCAL_QUORUM读取一次;RCU如果您选择LOCAL_ONE读取,则需要 1。

  • 对于大小不超过 1 KB 的行,一个WCU表示每秒写入一次。所有写入操作都使用LOCAL_QUORUM一致性,使用轻量级事务 (LWTs) 不收取额外费用。如果您需要写入大于 1 KB 的行,则写入操作会使用额外的WCUs。

    WCUs所需的总数取决于行大小。例如,如果您的行大小为 2 KB,则需要 2 WCUs 才能维持每秒一个写入请求。有关如何估算表的读取和写入容量消耗的更多信息,请参阅估计 Amazon Keyspaces 中读取和写入吞吐量的容量消耗

如果您的应用程序读取或写入较大的行(最大为 1 MB 的 Amazon Keyspaces 行大小上限),它将消耗更多的容量单位。要了解有关如何估算行大小的更多信息,请参阅 估计 Amazon Keyspaces 中的行大小。例如,假设您创建了一个包含 6 RCUs 和 6 WCUs 的预配置表。使用这些设置,您的应用程序可以执行以下操作:

  • 执行高达每秒 24 KB (4 KB × 6RCUs) 的LOCAL_QUORUM读取。

  • 执行最高每秒 48 KB 的 LOCAL_ONE 读取(读取吞吐量的两倍)。

  • 每秒最多写入 6 KB(1 KB × 6WCUs)。

预置的吞吐量 是应用程序可以从表消耗的最大吞吐容量。如果您的应用程序超出了预置的吞吐容量,则可能会发现容量不足错误。

例如,读取请求如果没有足够的吞吐容量,就会出现 Read_Timeout 异常,并发布到 ReadThrottleEvents 指标。写入请求如果没有足够的吞吐容量,就会出现 Write_Timeout 异常,并发布到 WriteThrottleEvents 指标。

您可以使用 Amazon CloudWatch 监控您的预配置吞吐量和实际吞吐量指标以及容量不足事件。有关这些指标的更多信息,请参阅 Amazon Keyspaces 指标与维度

注意

由于容量不足而反复出现错误可能会导致客户端驱动程序特定的异常,例如, DataStax Java 驱动程序因出现故障。NoHostAvailableException

要更改表的吞吐容量设置,可以使用 AWS Management Console 或使用的ALTER TABLE语句CQL,有关更多信息,请参阅ALTER TABLE

要了解有关账户的默认配额以及如何增加此配额的更多信息,请参阅 Amazon Keyspaces(Apache Cassandra 兼容)限额