2013-09-01 1 views
1

DynamoDB 용 Amazon Java SDK Client를 사용하고 있으며 대기 시간은 GetItem에서 약 100ms 분과 256ms 평균입니다. Cloudwatch에서 약 8-10ms입니다.클라이언트에서 DynamoDB 성능을 향상시키는 방법은 무엇입니까?

threadlocal이있는 각 스레드에 대해 새로운 AmazonDynamoDBClient를 시작하려고했는데 일부 캐시에 있어야합니다. BasicAWSCredentials에서 STSSessionCredentialsProvider로 전환하려고 시도했습니다. 호핑 토큰 보안 검사가 빠릅니다. 하지만 여전히 EC2 인스턴스와 사무실 모두에서 매우 높은 대기 시간을 보입니다.

클라이언트에서 이러한 대기 시간을 초래할 수있는 요인은 무엇입니까?

답변

2

cloudwatch에서 8-10ms 지연은 서비스 측 대기 시간입니다. 요청이 Amazon의 서버에 도달하면 이 걸리는 시간입니다. 서버 측에서이를 측정 할 방법이 없으므로 전체 네트워크 대기 시간은 포함되지 않습니다.

대기중인 추가 대기 시간은 나와 Amazon 간의 네트워크 대기 시간입니다. EC2와 DynamoDB 을 같은 지역에 사용하는 경우 ~ 1ms 대기 시간이 표시됩니다. EC2를 사용하여 언급했습니다. EC2 인스턴스가 DynamoDB 테이블과 같은 지역에 있는지 확인하십시오.

+0

여기에 자세한 설명을 드리겠습니다. DNS 해상도 : ~ 200-250ms, 교차 대서양 전송 (EU- 미국 동부 해안) : ~ 80ms. 미국 간 해안 이동은 그보다 조금 적을 것입니다. – oDDsKooL