View a markdown version of this page

성능 사양 - Amazon Simple Storage Service

성능 사양

S3 Files는 용량을 프로비저닝하거나 관리할 필요 없이 워크로드에 맞게 처리량과 IOPS를 자동으로 조정합니다. 이 페이지에서는 S3 Files의 성능 특성을 설명합니다.

성능 요약

파일 시스템당 집계 읽기 처리량 초당 최대 테라바이트
파일 시스템당 총 쓰기 처리량 1~5GiB/s
S3 Files가 있는 S3 버킷당 최대 읽기 IOPS 제한 없음(여러 파일 시스템을 동일한 버킷에 연결)
S3 Files가 있는 S3 버킷당 최대 쓰기 IOPS 제한 없음(여러 파일 시스템을 동일한 버킷에 연결)
파일 시스템당 최대 읽기 IOPS 250,000
파일 시스템당 최대 쓰기 IOPS 50,000
클라이언트당 최대 읽기 처리량 3GiB/s

S3 Files가 성능을 제공하는 방법

S3 Files는 두 스토리지 계층의 데이터를 제공하고 각 작업을 가장 적합한 계층으로 자동으로 라우팅합니다.

고성능 스토리지 - 적극적으로 사용되는 파일 데이터 및 메타데이터가 있는 파일 시스템 내의 지연 시간이 짧은 스토리지 계층입니다. S3 Files는 이 스토리지를 자동으로 관리하여 파일에 액세스하고 구성 가능한 만료 기간 내에 읽지 않은 데이터를 제거할 때 스토리지에 데이터를 복사합니다. 고성능 스토리지에 있는 데이터에 대해 스토리지 요금을 지불합니다.

S3에서 직접 - S3 Files는 두 가지 경우에 S3 버킷에서 파일을 직접 읽어 스트리밍합니다. 파일 데이터가 파일 시스템의 고성능 스토리지에 저장되어 있지 않은 경우와 데이터가 파일 시스템의 고성능 스토리지에 있더라도 1MiB 이상의 대용량 읽기인 경우가 그것입니다. S3 버킷은 높은 처리량에 최적화되어 있고, 파일 시스템의 고성능 스토리지 계층은 지연 시간이 짧은 액세스에 최적화되어 있습니다. S3 버킷에서 직접 스트리밍 데이터를 가져오는 이 계층화 방식은 순차 읽기에 높은 처리량을 제공하므로 분석, 미디어 처리 및 기타 스트리밍 워크로드에 적합합니다. S3 Files는 작은 파일(기본적으로 128KiB 미만)의 데이터를 비동기적으로 파일 시스템의 고성능 스토리지로 가져와 후속 읽기에서 짧은 지연 시간으로 액세스할 수 있도록 합니다.

S3 Files는이 2계층 모델을 자동으로 적용하므로 지연 시간과 처리량 중에서 선택할 필요가 없습니다. 소규모 파일 워크로드는 파일 시스템 성능을 얻습니다. 대용량 파일 워크로드는 S3 처리량을 얻습니다. 혼합 워크로드는 둘 다 가져옵니다.

읽기 성능

읽기 처리량은 연결된 컴퓨팅 인스턴스 수와 각 인스턴스 내의 병렬 처리 정도에 따라 확장됩니다. 클라이언트당 최대 읽기 처리량은 3GiB/s입니다. S3 Files는 초당 최대 테라바이트의 총 읽기 처리량과 파일 시스템당 최대 250,000개의 읽기 IOPS를 지원합니다.

쓰기 성능

쓰기는 고성능 스토리지로 이동하며 즉시 내구성이 뛰어납니다. 리전에 따라 S3 Files는 1~5GiB/s의 총 쓰기 처리량과 파일 시스템당 최대 50,000개의 쓰기 IOPS를 지원합니다. 쓰기 성능은 워크로드 활동에 따라 탄력적으로 확장됩니다.

파일 시스템에서 파일을 수정하면 S3 Files는 약 60초를 기다린 후 S3 버킷에 복사하기 전에 해당 시간 동안 파일에 대한 모든 연속 변경 사항을 집계합니다. 즉, 모든 개별 변경 사항에 대해 새 객체 버전을 생성하는 대신 동일한 파일에 대한 빠른 연속 쓰기가 단일 S3 PUT 요청으로 캡처되므로 S3 요청 비용과 스토리지 비용이 절감됩니다. S3 Files가 변경 사항을 S3 버킷에 복사한 후에도 파일을 계속 수정하면 필요에 따라 후속 변경 사항이 복사됩니다.

첫 번째 액세스 지연 시간

디렉터리에 처음 액세스할 때 S3 Files는 해당 디렉터리의 모든 파일에 대한 메타데이터를 가져오고 가져오기 구성에 따라 작은 파일에 대한 데이터를 가져옵니다. 따라서 초기 액세스가 후속 작업보다 오래 걸립니다. 가져온 모든 후속 디렉터리 목록과 파일 액세스는 짧은 지연 시간으로 반환됩니다.

동기화 성능

S3 Files는 백그라운드에서 파일 시스템과 S3 버킷 간의 변경 사항을 동기화합니다.

S3에서 변경 사항 가져오기 - 다른 애플리케이션이 S3 버킷의 객체를 추가하거나 수정하면 S3 Files는 일반적으로 몇 초 내에 파일 시스템의 변경 사항을 반영합니다. S3 Files는 파일 시스템당 초당 최대 2,400개의 객체 변경을 처리하며, 가져오기 데이터 처리량은 초당 최대 700MB입니다.

S3로 변경 사항 내보내기 - 파일 시스템을 통해 파일을 작성할 때 S3 Files는 약 60초 동안 변경 사항을 일괄 처리하여 빠른 연속 쓰기를 단일 S3 객체 버전으로 통합하여 S3 요청 및 스토리지 버전 비용을 절감합니다. 일괄 처리 기간이 지나면 S3 Files가 파일을 S3 버킷에 복사합니다. S3 Files는 파일 시스템당 초당 최대 800개의 파일을 내보내며, 내보내기 데이터 처리량은 초당 최대 2,700MB입니다.

운영 지표 단위
S3 버킷 IOPS에서 가져오기 2,400 파일 시스템당 초당 객체 수
S3 버킷 처리량에서 가져오기 700 초당 메가바이트
S3 버킷 IOPS로 내보내기 800 파일 시스템당 초당 파일 수
S3 버킷 처리량으로 내보내기 2,700 초당 메가바이트

Amazon S3는 객체가 키 이름으로 식별되는 플랫 스토리지 구조를 사용합니다. S3 Files를 사용하면 디렉터리에서 데이터를 구성할 수 있지만 S3에는 디렉터리에 대한 기본 개념이 없습니다. 파일 시스템의 디렉터리로 표시되는 것은 S3 버킷 내 객체의 키가 공유하는 공통 접두사입니다. 또한 S3 객체는 변경할 수 없으며 원자성 이름 변경을 지원하지 않습니다. 따라서 파일 이름을 바꾸거나 이동할 때 S3 Files는 업데이트된 키로 새 객체에 데이터를 쓰고 원본을 삭제해야 합니다. 디렉터리의 이름을 바꾸거나 이동할 때 S3 Files는 해당 접두사를 공유하는 모든 객체에 대해 이 프로세스를 반복해야 합니다. 따라서 수천만 개의 파일이 포함된 디렉터리의 이름을 바꾸거나 이동하면 S3 요청 비용과 동기화 시간이 크게 증가합니다. 파일 시스템에서 이름 바꾸기가 즉시 이루어지지만 파일 100,000개의 디렉터리 이름 바꾸기는 S3 버킷에 완전히 반영되는 데 몇 분 정도 걸립니다. 자세한 내용은 이름 바꾸기 및 이동 작업의 영향 이해 섹션을 참조하세요.

워크로드가 동기화 속도보다 빠르게 변경 사항을 생성하는 경우 S3 Files는 변경 사항을 대기열에 넣고 순서대로 처리합니다. PendingExports CloudWatch 지표를 사용하여 보류 중인 내보내기 수를 모니터링할 수 있습니다. 자세한 내용은 Amazon CloudWatch를 통한 S3 Files 모니터링 섹션을 참조하세요.

모니터링 성능

Amazon CloudWatch를 사용하여 파일 시스템의 성능을 모니터링할 수 있습니다. S3 Files는 시간 경과에 따른 처리량 및 IOPS를 추적하는 데 사용할 수 있는 DataReadBytes, DataWriteBytes, MetadataReadBytesMetadataWriteBytes 등의 지표를 게시합니다. 자세한 내용은 Amazon CloudWatch를 통한 S3 Files 모니터링 섹션을 참조하세요.