

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

# 为 Amazon Keyspaces 中的表配置预热
<a name="warm-throughput"></a>

Amazon Keyspaces 会根据按需或预配置的吞吐量自动扩展存储分区，但是对于新表或突然出现的吞吐量峰值，分配所需的存储分区可能需要更长的时间。为了确保新表或现有表有足够的容量来支持预期的峰值吞吐量，您可以手动设置特定的*热吞吐量*值来*预热*表。

*热吞吐量*是指您的 Amazon Keyspaces 表可以立即支持的读取和写入操作的数量。默认情况下，这些值适用于所有新建和现有表。如果您使用的是按需模式，或者如果您更新了预配置吞吐量，Amazon Keyspaces 可确保您的应用程序能够立即发出不超过这些值的请求。

随着使用量的增加，Amazon Keyspaces 会自动调整温吞吐量值。要调整即将到来的高峰事件的吞吐容量，例如，当您从另一个数据库迁移数据时（可能需要在短时间内加载数 TB 的数据），您可以手动增加表的热吞吐量值。这对于请求速率可能增加 10 倍、100 倍或更高的计划峰值事件非常有用。首先，评估当前的热吞吐量是否足以处理预期的流量。然后，如果您需要为计划的峰值工作负载预热表，则可以在不更改吞吐量设置或[容量模式](ReadWriteCapacityMode.md)的情况下手动增加热吞吐量值。

您可以预热表以进行读取操作、写入操作或两者兼而有之。您可以为新的和现有的单区域表和多区域表增加此值，并且您设置的热吞吐量设置会自动应用于多区域表的所有副本。您可以随时预热的 Amazon Keyspaces 表的数量没有限制。完成预热的时间取决于您设置的值和桌子的大小。您可以同时提交预热请求，这些请求不会干扰任何表操作。您可以将桌子预热到该地区账户的桌子配额上限。使用 S [ervice Quotas 控制台](https://console.aws.amazon.com/servicequotas)检查您当前的配额，并在需要时增加配额。

默认情况下，Amazon Keyspaces 根据您的按需使用量或预配置容量调整的温吞吐量值适用于所有表，无需支付额外费用。但是，如果您手动将预热吞吐量值增加到流量峰值事件的预热表，则需要支付额外费用。有关更多信息，请参阅 [Amazon Keyspaces](https://aws.amazon.com/keyspaces/pricing/) 定价。

以下是您在预热 Amazon Keyspaces 表时可以考虑的一些不同的场景和最佳实践。

## 热吞吐量和不均匀的访问模式
<a name="warm-throughput-scenarios-uneven"></a>

表的热吞吐量可能为每秒 30,000 个读取单位和每秒 10,000 个写入单元，但在达到这些值之前，读取或写入时仍可能遇到容量超出的事件。这可能是由于热分区造成的。虽然 Amazon Keyspaces 可以不断扩展以支持几乎无限的吞吐量，但每个分区限制为每秒 1,000 个写入单元和每秒 3,000 个读取单元。如果您的应用程序将过多的流量带到表的一小部分分区，则甚至在您达到表的热吞吐量值之前，就可能发生容量超出事件。我们建议遵循 [Amazon Keyspaces 最佳实践](bp-partition-key-design.md)，以确保无缝扩展并避免过热分区。

## 预置表的热吞吐量
<a name="warm-throughput-scenarios-provisioned"></a>

假设一个预配置表，它的热吞吐量为每秒 30,000 个读取单元和 10,000 个写入单元/秒，但目前的预配置吞吐量为 4,000 个 RCU 和 8,000 个 WCU。通过更新预配置吞吐量设置，您可以立即将表的预配置吞吐量扩展到 30,000 个 RCU 或 10,000 个 WCU。当您将预配置吞吐量增加到这些值之外时，由于您已经建立了新的峰值吞吐量，因此热吞吐量会自动调整到新的更高值。例如，如果您将预配置吞吐量设置为 50,000 RCU，则热吞吐量将增加到每秒 50,000 个读取单位。

```
"ProvisionedThroughput": 
    {
        "ReadCapacityUnits": 4000,
        "WriteCapacityUnits": 8000 
    }
"WarmThroughput": 
    { 
        "ReadUnitsPerSecond": 30000,
        "WriteUnitsPerSecond": 10000
    }
```

## 按需表的热吞吐量
<a name="warm-throughput-scenarios-ondemand"></a>

新的按需表将以每秒 12000 个读取单位和每秒 4000 个写入单位的热吞吐量开始。表可以立即容纳高达这些级别的持续流量。当您的请求超过每秒 12,000 个读取单位或每秒 4,000 个写入单位时，热吞吐量会自动调整为更高的值。

```
"WarmThroughput": 
    { 
        "ReadUnitsPerSecond": 12000,
        "WriteUnitsPerSecond": 4000
    }
```

## 预热 Amazon Keyspaces 表的最佳实践
<a name="prewarming-best-practices"></a>

在为 Amazon Keyspaces 表实施预热时，请遵循以下最佳实践：

准确估计所需的容量  
由于预热会产生一次性成本，因此请根据预期的工作负载仔细计算所需的吞吐量，以避免过度配置。

考虑表的架构  
行数较大的表可能需要更多的分区才能实现相同的吞吐量。在估算预热需求时，请考虑您的平均行长。

监控表性能  
预热后，使用 CloudWatch 指标来验证您的表是否按预期处理负载。有关更多信息，请参阅 [使用 Amazon 监控预热桌子的性能 CloudWatch](monitor-prewarming-cloudwatch.md)。

管理配额  
如果您的应用程序需要的吞吐量高于默认配额允许的吞吐量（40,000 RCUs/WCUs 或 2,000 个分区），则请求配额会在高流量事件发生之前提前增加。要请求增加配额，您可以使用 [服务限额控制台](https://console.aws.amazon.com/servicequotas)。

优化成本  
对于临时的高流量事件，请考虑使用预热而不是切换到高容量的预配置模式，因为对于短时事件，这可能更具成本效益。有关定价的更多信息，请参阅 [Amazon Keyspaces](https://aws.amazon.com/keyspaces/pricing/) 定价。

**注意**  
在测试阶段监控应用程序的性能指标，以验证预热配置是否足以支持您的工作负载需求。

**Topics**
+ [热吞吐量和不均匀的访问模式](#warm-throughput-scenarios-uneven)
+ [预置表的热吞吐量](#warm-throughput-scenarios-provisioned)
+ [按需表的热吞吐量](#warm-throughput-scenarios-ondemand)
+ [预热 Amazon Keyspaces 表的最佳实践](#prewarming-best-practices)
+ [创建具有更高热吞吐量的新 Amazon Keyspaces 表](create-table-warm-throughput.md)
+ [增加现有 Amazon Keyspaces 表的热吞吐量](update-warm-throughput.md)
+ [查看 Amazon Keyspaces 表的热吞吐量](view-warm-throughput.md)
+ [使用 Amazon 监控预热桌子的性能 CloudWatch](monitor-prewarming-cloudwatch.md)