配置 DAX 客户端 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

配置 DAX 客户端

DAX 集群是一个基于实例的集群,可以使用各种 DAX SDK 进行访问。每个 SDK 都为开发人员提供了可配置的选项,例如 requestTimeout 和连接,来满足特定的应用程序要求。

配置 DAX 客户端时,一个关键的考虑因素是客户端应用程序的规模,具体而言,是客户端实例与 DAX 服务器实例的比例(最大为 11)。大型客户端实例集可以生成与 DAX 服务器实例的大量连接,这可能会使它们不堪重负。本指南概述了 DAX 客户端配置的最佳实践。

最佳实践

  1. 客户端实例:实现单例客户端实例,以确保跨请求重用实例。有关实施详细信息,请参阅第 4 步:运行一个示例应用程序

  2. 请求超时:虽然应用程序通常需要较低的请求超时,才能确保上游系统的延迟降至最低,但将超时设置得过低可能会导致问题。当 DAX 服务器出现临时延迟峰值时,低超时可能会触发到服务器实例的频繁重新连接。在出现超时的情况下,DAX 客户端会终止现有的服务器节点连接,并建立新的服务器节点连接。由于建立连接是资源密集型的,因此大量连续连接会使 DAX 服务器过载。我们建议执行下列操作:

    • 保持默认的请求超时设置。

    • 如果较低超时是必需的,则使用较低的超时值实现单独的应用程序线程,并包括带有指数回退的重试机制。

  3. 连接超时:对于大多数应用程序,我们建议保持默认的连接超时设置。

  4. 并发连接:某些 SDK(例如 JavaV2)支持调整与 DAX 服务器的并发连接。重要注意事项:

    • DAX 服务器实例可以处理多达 40000 个并发连接。

    • 默认设置适用于大多数用例。

    • 大型客户端实例加上高并发连接可能会使服务器过载。

    • 较低的并发连接值可降低服务器过载的风险。

    • 性能计算示例:

      • 假设请求延迟为 1 毫秒,理论上每个连接每秒可以处理 1000 个请求。

      • 对于 3 节点集群,连接到所有节点的单个客户端实例每秒可以处理 3000 个请求。

      • 通过 10 个连接,客户端每秒可以处理大约 30000 个请求。

        建议:从较低的并发连接设置开始,然后根据预期的生产工作负载模式通过性能测试进行验证。