S3 RTC 的最佳实践和准则 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

S3 RTC 的最佳实践和准则

在 Amazon S3 中使用 S3 Replication Time Control(S3 RTC)复制数据时,请遵循这些最佳实践准则为您的工作负载优化复制性能。

Amazon S3 复制和请求速率性能准则

当从 Amazon S3 上传和检索存储时,您的应用程序可以实现每秒数千个事务的请求性能。例如,应用程序在 S3 存储桶中每个前缀每秒可实现至少 3,500 个 PUT/COPY/POST/DELETE 请求或 5,500 个 GET/HEAD 请求,包括 S3 复制代表您发出的请求。对存储桶中的前缀数量没有限制。您可以通过并行读取来增加读取或写入性能。例如,如果您在 S3 存储桶中创建 10 个前缀以并行处理读取,则可以将读取性能扩展到每秒 55,000 个读取请求。

Amazon S3 根据高于这些准则的持续请求速率或与 LIST 请求并行的持续请求速率自动扩展。尽管 Amazon S3 在内部针对新的请求速率进行优化,但您可能暂时会收到 HTTP 503 请求响应,直至优化完成。随着每秒请求速率增大,或者当您首次启用 S3 RTC 时,可能会发生这种情况。在这些期间,您的复制延迟可能会增加。S3 RTC 服务等级协议 (SLA) 不适用于超出 Amazon S3 每秒请求性能准则的时间段。

在复制数据传输速率超过默认 1 Gbps 限制的时间段内,S3 RTC SLA 也不适用。如果您预计复制传输速率超过 1 Gbps,则可以联系 Amazon Web Services Support 中心或使用 Service Quotas 来请求提高限制。

估算您的复制请求速率

您的总请求速率(包括代表您发出的 Amazon S3 复制请求)不得超出复制源存储桶和目标存储桶的 Amazon S3 请求速率准则。对于已复制的每个对象,Amazon S3 复制向源存储桶发出最多五个 GET/HEAD 请求和一个 PUT 请求,向每个目标存储桶发出一个 PUT 请求。

例如,如果您希望每秒复制 100 个对象,则 Amazon S3 复制可能会代表您执行额外 100 个 PUT 请求,每秒总计向源 S3 存储桶发出 200 个 PUT 请求。Amazon S3 复制也可能最多执行 500 个 GET/HEAD 请求(每个已复制的对象有 5 个 GET/HEAD 请求)。

注意

每个已复制的对象只会产生一个 PUT 请求的费用。有关更多信息,请参阅 Amazon S3 复制常见问题解答中的定价信息。

超过 S3 RTC 数据传输速率限制

如果您预计 S3 Replication Time Control 数据传输速率超过默认的 1Gbps 限制,请联系 Amazon Web Services Support 中心或使用服务限额请求提高限制。

Amazon KMS 加密对象复制请求速率

当您使用 Amazon S3 复制来复制通过服务器端加密 (SSE-KMS) 加密的对象时,Amazon Key Management Service (Amazon KMS) 每秒请求限制适用。因为您的请求速率超过了每秒请求数的限制,Amazon KMS 可能会拒绝其他有效的请求。如果请求受到限制,Amazon KMS 将返回 ThrottlingException 错误。Amazon KMS 请求速率限制适用于您直接发出的请求和代表您通过 Amazon S3 复制发出的请求。

例如,如果您希望每秒复制 1,000 个对象,则可以从 Amazon KMS 请求速率限制中减去 2,000 个请求。生成的每秒请求速率可用于除复制之外的 Amazon KMS 工作负载。您可以使用 Amazon CloudWatch 中的 Amazon KMS 请求指标来监控Amazon Web Services 账户的总 Amazon KMS 请求速率。