Amazon dynamodb 如何判断DynamoDB限制请求成功的频率?

Amazon dynamodb 如何判断DynamoDB限制请求成功的频率?,amazon-dynamodb,aws-sdk,Amazon Dynamodb,Aws Sdk,当像dynamoClient.update(params)这样的请求被限制时,我的理解是SDK会自动尝试多次重试,然后只有在所有重试都失败时调用才会失败。如果其中一个成功,则调用成功 我的问题与CloudWatch报告受限制的请求有关。如果一个请求最初失败,但其中一个失效成功,是否报告为限制请求?还是只有在所有重试都失败的情况下才会报告为限制 当我观察系统的行为时,我真正想了解的是重试的频率,以及它们最终是失败还是成功。当我看到50个请求被阻止的报告时,这是否意味着所有50个重试都失败了?或者这

当像
dynamoClient.update(params)
这样的请求被限制时,我的理解是SDK会自动尝试多次重试,然后只有在所有重试都失败时调用才会失败。如果其中一个成功,则调用成功

我的问题与CloudWatch报告受限制的请求有关。如果一个请求最初失败,但其中一个失效成功,是否报告为限制请求?还是只有在所有重试都失败的情况下才会报告为限制


当我观察系统的行为时,我真正想了解的是重试的频率,以及它们最终是失败还是成功。当我看到50个请求被阻止的报告时,这是否意味着所有50个重试都失败了?或者这50人中的一些人最终会成功吗?如果是后者,我如何知道有多少最终成功,有多少最终完全失败?

每次DynamoDB读/写操作失败时,CloudWatch度量ThrottledRequests都会增加,因为您达到了设置的吞吐量限制。如果
aws sdk
重试三次并在第三次成功,则
ThrottledRequests
将递增2

(注意:在批量请求方面存在一些细微差别,这些差别在链接文档中有详细说明)

对“由于sdk放弃而导致请求失败”的度量有点困难。这是因为“故障”已经记录为
ThrottledRequests
。一旦
aws sdk
达到配置的最大退役次数,请求将失败。此时,您可以记录故障,然后可以使用自定义日志记录故障

如果您想具体度量“重试但成功的请求”,可以检查属性
Response.retryCount
,并相应地记录