2012-10-31 2 views
0

DynamoDB에 일부 레코드가 있습니다. 그러나 쿼리 [[AmazonClientManager ddb] scan :]은로드하는 데 너무 오래 걸리고 nil을 반환합니다. 이 문제의 가능한 원인은 무엇입니까? 내가 추측 할 수있는 한 가지는 이것이 네트워크 문제 일 수 있다는 것입니다. 나는 그것에 대해 확신하지 못한다. 그러나 이것은 매우 자주 발생합니다.AmazonClientManager는 때때로 (종종) nil을 반환합니다.

아이디어가 있으십니까?

감사합니다.

답변

1

요청이 완료 될 때까지 최대 5 초가 걸리는 비슷한 문제가있었습니다. 이 지연은 CloudWatch에서 "최대"집계 함수를 사용하여 볼 수있었습니다. 이것은 아마존 측에 문제가 있음을 보여 주었다.

지원팀에서 5 초가 "페일 오버"지연이라고 말했습니다. 이는 DynamoDB 파티션 중 하나에 "문제"가 있음을 나타냅니다 (최소 2 개가 있습니다).

스캔은 "강력한 일관성"을 수행 할 수 없기 때문에 장애 조치도 수행 할 수 없습니다. CloudWatch 통계는이 가설을 검증하기위한 좋은 출발점이 될 수 있습니다.

+0

답변 해 주셔서 감사합니다. 이 경우 프로비저닝 처리량을 늘려야합니까? AWS를 처음 사용합니다. 프로비저닝 처리량에 대해서는 잘 모릅니다. Google 앱에서 UpdateTable API를 언제 어떻게 사용해야하는지 알려 주시기 바랍니다. 나는 여기서 어떻게 나아갈 지 모른다. – EmptyStack

+0

이 문제는 CW로 볼 수 있습니다. 이 경우 아마존 측의 버그 일 뿐이며이를 고칠 수 있도록 알려주는 것이 좋습니다. "프로비저닝 된 처리량"은 대략 초당 요청 수 (http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)에 해당합니다. – yadutaf

+0

프로비저닝 처리량 관련 : 내 앱이 실시간으로 처리되는 경우 처리량을 수동으로 조정할 수 있습니까? 아니면 UpdateTable API를 사용해야합니까? UpdateTable API를 사용해야하는 경우이 API를 사용해야합니까? 앱에 위임/알림이 있습니까? 제발 도와주세요! – EmptyStack

0

문제는 특정 테이블의 처리량 용량을 초과했습니다. 그래서 738 자동 재시도 후 을 얻었습니다. 도움을 주신 모든 분들께 감사드립니다!

관련 문제