优化 EBS direct API 的性能 - Amazon EBS

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

优化 EBS direct API 的性能

您可以并发运行 API 请求。假设 PutSnapshotBlock 数据块延迟为 100 毫秒,那么一个线程在一秒内可以处理 10 个请求。此外,假设您的客户端应用程序创建多个线程和连接(例如 100 个连接),那么它每秒可以发出 1000(10 * 100)个请求。这对应于大约每秒 500 MB 的吞吐量。

以下列表包含在您应用程序中需要了解的几点:

  • 每个线程是否使用单独的连接? 如果应用程序上的连接受限制,则多线程将等待可用连接,而您会发现吞吐量较低。

  • 应用程序的两个放置请求之间是否有任何等待时间? 这将降低线程的有效吞吐量。

  • 实例的带宽限制 – 如果实例上的带宽与其他应用程序共享,则会限制 PutSnapshotBlock 请求的可用吞吐量。

请确保注意账户中可能运行的其他工作负载,以避免瓶颈。您还应将重试机制内置到 EBS direct API 工作流中,以处理限制、超时和服务不可用性。

查看 EBS direct API 服务配额以确定您每秒可运行的最大 API 请求数。有关更多信息,请参阅 AWS 一般参考 中的 Amazon Elastic Block Store 终端节点和配额