S3 - Baseline Performance S3 기준 성능
Amazon S3 automatically scales to high request rates, latency 100-200ms
Amazon S3는 자동으로 높은 요청 속도, 대기 시간 100~200ms으로 스케일링이 가능함.
Your application can achieve at least 3,500 PUT/COPY/POST/DELETE and 5,500 GET/HEAD requests per second per prefix in a bucket.
응용 프로그램은 버킷에서 접두어 당 최소 3,500개의 PUT/COPY/POST/Delete 요청과 초당 5,500개의 GET/HEAD 요청을 달성할 수 있습니다.
There are no limits to the number of prefixes in a bucket.
버킷 내의 접두어의 개수에는 제한이 없다.
Example(object path => prefix):
-bucket/folder1/sub1/file => /folder1/sub1
-bucket/folder1/sub2/file => /folder1/sub2
-bucket/1/file = /1/
-bucket/2/file = /2/
(4개라고 가정했을 때)
If you spread reads across all four prefixes evenly, you can achieve 22,000 requests per second for GET and HEAD.
읽기를 네 개의 접두사에 모두 고르게 분산하면 GET 및 HEAD에 대해 초당 22,000개의 요청을 달성할 수 있습니다.
S3 ㅡ KMS Limitation KMS 제한
If you use SSE-KMS, you may be impacted by the KMS limits
KMS 암호화 사용하는 경우 KMS 제한에 의해 영향 받을 수 있다.
When you upload, it calls the GenerateDataKey KMS API
파일 업로드 할 때 GenerateDataKey KMS API를 호출하고,
When you download, it calls the Decrypt KMS API
파일을 다운로드 하는 경우에는 Decrypt KMS API가 호출된다.
Count towards the KMS quota per second(5500, 10000, 30000 req/s based on region)
You can request a quota increase using the Service Quotas Console
이 요청들은 KMS 할당량에 집계가 된다. 업로드/다운로드 할 때마다 S3 버킷이 API를 호출하고 키를 생성 및 복호화 해야하는데,
KMS는 기본적으로 초당 요청에 대한 할당량이 있다. 따라서 리전에 따라 5,500개 10,000개, 30,000개 일 수도 있다.
이보다 많은 양이 필요한 경우 서비스 할당량 콘솔을 통해 할당량 증가 요청을 할 수 있다.
파일이 아주 많을 때나, S3 버킷을 많이 쓸 때를 대비해 알아두면 좋다.
S3 Performance S3 성능
Multi-Part upload:
-recommended for files > 100MB, must use for files > 5GB
-Can help parallelize uploads (speed up transfers)
분할 업로드:
-100MB 넘는 파일은 분할 업로드 권장, 5GB가 넘을 경우 분할 업로드 필수
-분할 업로드는 병렬화를 통해 전송 속도를 높이고 대역폭을 극대화 함
S3 Transfer Acceleration
-Increase transfer speed by transferring file to an AWS edge location which will forward the data to the S3 bucket in the target region
-Compatible with multi-part upload
S3 Transfer Acceleration는 업로드와 다운로드를 위한 것.
-AWS 엣지 로케이션 위치로 파일을 전송하여 전송 속도 향상, 엣지 로케이션은 데이터를 대상 영역의 S3 버킷으로 전달함.
-Transfer Acceleration은 멀피파트 업로드와 호환된다.
ex) 미국에 있는 파일 -> 미국에 있는 엣지 로케이션을 이용하여 업로드 -> 해당 엣지 로케이션이 다른 국가의 S3버킷으로 고속 사설 AWS 네트워크를
통해 파일이 전송됨. (사설 AWS 네트워크의 사용을 최대화 함)
S3 Performance - S3 Byte-Range Fetches
Parallelize GETs by requesting specific byte ranges
Better resilience in case of failures
특정 바이트 범위를 요청하여 GET을 병렬화하는 방식
장애 발생 시 복원력 향상시켜줌
Can be used to speed up downloads 다운로드를 가속화시키는 원리
Can be used to retrieve only partial data (for example the head of a file)
부분 데이터만 검색하는 데 사용할 수 있습니다.
'Cloud > AWS' 카테고리의 다른 글
AWS CloudFront / Origins / Geo Restriction / S3 Cross Replication과의 차이점 (0) | 2022.11.25 |
---|---|
Amazon Athena Overview 개요 (0) | 2022.11.25 |
S3 Lifecycle Rules S3 수명 주기 규칙 / S3 Analytics - Storage Class Analysis (0) | 2022.11.20 |
S3 Pre-Signed URLs (사전 서명된 URL) / S3 Storage class (0) | 2022.11.19 |
S3 Replication (CRR & SRR) / 참고사항 (0) | 2022.11.16 |