Amazon ec2 如何在客户端提高DynamoDB性能?

Amazon ec2 如何在客户端提高DynamoDB性能?,amazon-ec2,amazon-dynamodb,low-latency,Amazon Ec2,Amazon Dynamodb,Low Latency,我正在使用AmazonJavaSDK客户端进行DynamoDB,对于广泛分布的密钥,GetItem的延迟平均约为100ms min和256ms。 在cloudwatch中,大约为8-10毫秒 我尝试用threadlocal为每个线程启动新的AmazondynamodClient,希望它在一些缓存中。 我已尝试从BasicAWSCredentials切换到STSSessionCredentialsProvider。令牌安全检查更快。 但我仍然在EC2实例和office上都有相同的非常高的延迟 什么

我正在使用AmazonJavaSDK客户端进行DynamoDB,对于广泛分布的密钥,GetItem的延迟平均约为100ms min和256ms。 在cloudwatch中,大约为8-10毫秒

我尝试用threadlocal为每个线程启动新的AmazondynamodClient,希望它在一些缓存中。 我已尝试从BasicAWSCredentials切换到STSSessionCredentialsProvider。令牌安全检查更快。 但我仍然在EC2实例和office上都有相同的非常高的延迟


什么会导致客户端出现这种延迟

cloudwatch中的8-10ms延迟是服务端延迟,即当您的请求到达Amazon的服务器时所需的时间。这不包括总体网络延迟,因为无法在服务器端测量


您看到的额外延迟是您和Amazon之间的网络延迟。在同一区域使用EC2和DynamoDB时,您应该会看到~1ms的延迟。您提到使用EC2,您确定EC2实例与DynamoDB表位于同一区域吗

关于这一点,这里有一些关于延迟的粗略数字;DNS分辨率:~200-250ms,跨大西洋传输(欧盟-美国东海岸):~80ms。美国的跨海岸转移会比这少一点。