S3 및 DynamoDB 읽기 속도 조사(lambda)
개시하다
S3와 DynamoDB는 모두 작은 텍스트를 저장할 때 사용할 수 있는 무료 테두리를 가지고 있다.
저는 S3만 이용했지만 다이나모DB는 우수한 지연성 때문에 AWS의 최선의 실천에 자주 등장했습니다.
도대체 얼마나 빨라요?
신경 쓰여서 조사해 봤어요.
결론
S3 읽기 평균 시간 0.14초
DynamoDB 읽기 평균 시간 0.03초
그래서 S3의 4배 정도 빨라요.
환경, 조건, 코드 등
측정된 시간 2021/11/101:00~21:05 JST
lambda 기본값(메모리 128MB)
DynamoDB 설정
용량 모드 구성
자동 읽기 용량 해제
구성된 읽기 용량 유닛5
자동 쓰기 용량 해제
구성된 쓰기 용량 유닛5
책상 안의 물건
client_id
NewValue2
s
z
용량 유닛 5를 읽는 경우 한 번에 20KB를 읽을 수 있습니다.
만약 이 작은 탁자라면, 나는 한 번 읽는 시간을 측정할 수 있을 것이다.
DynamoDB 읽기 코드
4
import time
import boto3
from boto3.dynamodb.conditions import Key, Attr
dynamodb = boto3.resource('dynamodb')
def lambda_handler(event, context):
# 開始時間
start_time = time.time()
table_name = "device_properties"
partition_key = {"client_id": "s"}
dynamotable = dynamodb.Table(table_name)
res = dynamotable.get_item(Key=partition_key)
item = res["Item"]
# 終了時間
end_time = time.time()
print("経過時間")
print(end_time-start_time)
return item
10회 측정한 결과0.1777
0.0192
0.0045
0.0135
0.0114
0.0059
0.0182
0.0094
0.0169
0.0045
S3 설정
슬롯 닫기
암호화 해제
도쿄 리존
객체 크기 1KB
S3 읽기 코드
4
import boto3
import time
BUCKET_NAME = 'test43245'
OBJECT_KEY_NAME = 's.txt'
s3 = boto3.resource('s3')
def lambda_handler(event, context):
# 開始時間
start_time = time.time()
bucket = s3.Bucket(BUCKET_NAME)
obj = bucket.Object(OBJECT_KEY_NAME)
response = obj.get()
body = response['Body'].read()
# 終了時間
end_time = time.time()
print("経過時間")
print(end_time-start_time)
return body
10회 측정한 결과0.2805
0.1945
0.2005
0.1903
0.0369
0.1984
0.0323
0.0319
0.1843
0.0235
끝말
최소 사이즈를 얻으려고 했어요.이 조건이면 DynamoDB가 상당히 빠른 것 같아요.
나는 이 화환을 활용하고 싶다.
다이나모DB를 사용해 본 적이 없어 좋은 경험이었다.
참조 링크
Reference
이 문제에 관하여(S3 및 DynamoDB 읽기 속도 조사(lambda)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/nnnto/articles/2821c04de83778텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)