Как я могу узнать, как часто удушающий запрос DynamoDB выполнялся? - PullRequest
0 голосов
/ 03 ноября 2018

Когда задан запрос, такой как dynamoClient.update(params), я понимаю, что SDK автоматически предпринимает ряд попыток, а затем происходит сбой вызова только в случае сбоя всех попыток. Если один из них успешен, то вызов успешно завершен.

Мой вопрос связан с сообщением об ограниченных запросах CloudWatch. Если запрос изначально не выполнен, но один из запросов завершается успешно, это сообщается как ограниченный запрос? Или это сообщается только как удушенный, только если все повторные попытки терпят неудачу?

То, что я действительно пытаюсь понять, глядя на поведение моей системы, это то, как часто происходят повторные попытки и в конечном итоге они терпят неудачу или преуспевают. Когда я вижу отчет о том, что 50 запросов были заблокированы, означает ли это, что все 50 неудач все попытки? Или некоторые из этих 50 в конечном итоге преуспели? Если последнее, как я могу получить представление о том, сколько в конечном итоге преуспело, а сколько в итоге полностью провалилось?

1 Ответ

0 голосов
/ 03 ноября 2018

Метрика CloudWatch ThrottledRequests (полная информация) увеличивается каждый раз при сбое операции чтения / записи DynamoDB, поскольку вы достигли установленного предела пропускной способности. Если aws-sdk повторяется три раза и успешно на третьем, то ThrottledRequests увеличивается на 2.

(нет. Есть некоторые нюансы, когда речь идет о пакетных запросах, которые полностью указаны в связанных документах).

Измерение «неудачных запросов из-за отказа SDK» немного сложнее. Это потому, что «сбои» уже записаны как ThrottledRequests. Как только aws-sdk достигнет максимального количества настроенных выбывших, запрос не будет выполнен. На этом этапе вы можете зарегистрировать ошибку, которую затем можете сделать доступной, используя пользовательскую метрику CloudWatch .

Если вы хотите конкретно измерить «запросы, которые были повторены, но успешно выполнены», вы можете проверить свойство Response.retryCount (docs) и зарегистрировать его соответствующим образом.

...