本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon Keyspaces 中为表格配置预热
Amazon Keyspaces 会根据按需或预配置的吞吐量自动扩展存储分区,但是对于新表或突然出现的吞吐量峰值,分配所需的存储分区可能需要更长的时间。为了确保新表或现有表有足够的容量来支持预期的峰值吞吐量,您可以手动设置特定的热吞吐量值来预热表。
热吞吐量是指您的 Amazon Keyspaces 表可以立即支持的读取和写入操作的数量。默认情况下,这些值适用于所有新建和现有表。如果您使用的是按需模式,或者如果您更新了预配置的吞吐量,Amazon Keyspaces 可确保您的应用程序能够立即发出不超过这些值的请求。
随着使用量的增加,Amazon Keyspaces 会自动调整温吞吐量值。要调整即将到来的高峰事件的吞吐容量,例如,当您从另一个数据库迁移数据时(这可能需要在短时间内加载数 TB 的数据),您可以手动增加表的热吞吐量值。这对于请求速率可能增加 10 倍、100 倍或更高的计划峰值事件非常有用。首先,评估当前的热吞吐量是否足以处理预期的流量。然后,如果您需要为计划的峰值工作负载预热表,则可以在不更改吞吐量设置或容量模式的情况下手动增加热吞吐量值。
您可以预热表以进行读取操作、写入操作或两者兼而有之。您可以为新的和现有的单区域表和多区域表增加此值,并且您设置的热吞吐量设置会自动应用于多区域表的所有副本。您可以随时预热的 Amazon Keyspaces 表的数量没有限制。完成预热的时间取决于您设置的值和桌子的大小。您可以同时提交预热请求,这些请求不会干扰任何表操作。您可以将桌子预热到该地区账户的桌子配额上限。使用 S ervice Quotas 控制台
默认情况下,Amazon Keyspaces 根据您的按需使用量或预配置容量调整的温吞吐量值适用于所有表,无需支付额外费用。但是,如果您手动将预热吞吐量值增加到流量峰值事件的预热表,则需要支付额外费用。有关更多信息,请参阅 Amazon Keyspaces
以下是您在预热 Amazon Keyspaces 表时可以考虑的一些不同的场景和最佳实践。
热吞吐量和不均匀的访问模式
表的热吞吐量可能为每秒 30,000 个读取单位和每秒 10,000 个写入单元,但在达到这些值之前,读取或写入时仍可能遇到容量超出的事件。这可能是由于热分区造成的。虽然 Amazon Keyspaces 可以不断扩展以支持几乎无限的吞吐量,但每个分区限制为每秒 1,000 个写入单元和每秒 3,000 个读取单元。如果您的应用程序将过多的流量带到表的一小部分分区,则甚至在您达到表的热吞吐量值之前,就可能发生容量超出事件。我们建议遵循 Amazon Keyspaces 最佳实践,以确保无缝扩展并避免过热分区。
预置表的热吞吐量
假设一个预配置表,它的热吞吐量为每秒 30,000 个读取单元和 10,000 个写入单元/秒,但目前的预配置吞吐量分别为 4,000 RCUs 和 8,000。 WCUs通过更新预配置吞吐量设置,您可以立即将表的预配置吞吐量扩展到 30,000 RCUs 或 10,000 WCUs 。当您将预配置吞吐量增加到这些值之外时,由于您已经建立了新的峰值吞吐量,因此热吞吐量会自动调整到新的更高值。例如,如果您将预配置吞吐量设置为 50,000 RCU,则热吞吐量将增加到每秒 50,000 个读取单位。
"ProvisionedThroughput": { "ReadCapacityUnits": 4000, "WriteCapacityUnits": 8000 } "WarmThroughput": { "ReadUnitsPerSecond": 30000, "WriteUnitsPerSecond": 10000 }
按需表的热吞吐量
新的按需表将以每秒 12000 个读取单位和每秒 4000 个写入单位的热吞吐量开始。表可以立即容纳高达这些级别的持续流量。当您的请求超过每秒 12,000 个读取单位或每秒 4,000 个写入单位时,热吞吐量会自动调整为更高的值。
"WarmThroughput": { "ReadUnitsPerSecond": 12000, "WriteUnitsPerSecond": 4000 }
预热 Amazon Keyspaces 表的最佳实践
在为 Amazon Keyspaces 表实施预热时,请遵循以下最佳实践:
- 准确估计所需的容量
-
由于预热会产生一次性成本,因此请根据预期的工作负载仔细计算所需的吞吐量,以避免过度配置。
- 考虑表的架构
-
行数较大的表可能需要更多的分区才能实现相同的吞吐量。在估算预热需求时,请考虑您的平均行长。
- 监控表性能
-
预热后,使用 CloudWatch 指标来验证您的表是否按预期处理负载。有关更多信息,请参阅 使用 Amazon 监控预热桌子的性能 CloudWatch。
- 管理配额
-
如果您的应用程序需要的吞吐量高于默认配额允许的吞吐量(40,000 RCUs/WCUs 或 2,000 个分区),则请求配额会在高流量事件发生之前提前增加。要请求增加配额,您可以使用 服务限额控制台
。 - 优化成本
-
对于临时的高流量事件,请考虑使用预热而不是切换到高容量的预配置模式,因为对于短时事件,这可能更具成本效益。有关定价的更多信息,请参阅 Amazon Keyspaces
定价。
注意
在测试阶段监控应用程序的性能指标,以验证预热配置是否足以支持您的工作负载需求。