

# 모범 사례 설계 패턴: Amazon S3 성능 최적화
<a name="optimizing-performance"></a>

애플리케이션은 Amazon S3의 스토리지를 업로드하고 검색할 때 요청 성능에서 초당 수천 회의 트랜잭션을 쉽게 달성할 수 있습니다. Amazon S3는 높은 요청 빈도로 자동으로 조정됩니다. 예를 들어, 애플리케이션이 분할된 Amazon S3 접두사별로 초당 최소 3,500개의 PUT/COPY/POST/DELETE 또는 5,500개의 GET/HEAD 요청을 달성할 수 있습니다. 버킷의 접두사 수에는 제한이 없습니다. 병렬화를 사용하여 읽기 또는 쓰기 성능을 향상시킬 수 있습니다. 예를 들어, Amazon S3 버킷에서 접두사 10개를 만들어 읽기를 병렬화하는 경우 읽기 성능을 초당 읽기 요청 55,000개로 조정할 수 있습니다. 마찬가지로, 여러 접두사에 쓰면 쓰기 작업의 크기를 조정할 수 있습니다. 읽기 및 쓰기 작업 모두의 경우 규모 조정은 즉각적이지 않고 점진적으로 수행되며 실제 성능은 특정 워크로드 특성, 사용 패턴 및 시스템 구성에 따라 달라집니다. Amazon S3가 더 높은 요청 비율에 맞춰 확장하는 동안 503(속도 저하) 오류가 발생할 수 있습니다. 이러한 오류는 크기 조정이 완료되면 사라집니다. 접두사 생성 및 사용에 대한 자세한 내용은 [접두어를 사용한 객체 구성](using-prefixes.md) 단원을 참조하세요.

Amazon S3의 일부 데이터 레이크 애플리케이션은 페타바이트 이상의 데이터를 실행하는 쿼리에 대한 수백만 또는 수십억 개의 객체를 검색합니다. 이러한 데이터 레이크 애플리케이션으로 단일 인스턴스에서 최대 100Gb/s가 될 수 있는 [Amazon EC2](https://docs.aws.amazon.com/ec2/index.html) 인스턴스의 네트워크 인터페이스 사용을 극대화하는 단일 인스턴스 전송 속도를 달성합니다. 그런 다음 이러한 애플리케이션은 여러 인스턴스에서 처리량을 집계하여 초당 여러 테라비트를 얻습니다.

또 다른 예는 소셜 미디어 메시징 애플리케이션처럼 지연 시간에 민감한 애플리케이션입니다. 이러한 애플리케이션은 약 100\~200밀리초의 일관된 작은 객체 지연 시간(큰 객체의 경우 첫 번째 바이트 출력 지연 시간)을 달성할 수 있습니다.

다른 AWS 서비스도 다른 애플리케이션 아키텍처의 성능을 가속화하는 데 도움이 됩니다. 예를 들어, 단일 HTTP 연결 또는 한 자릿수 밀리초 지연 시간에 비해 더 높은 전송 속도를 원한다면 Amazon S3로 캐싱하기 위해 [Amazon CloudFront](https://docs.aws.amazon.com/cloudfront/index.html) 또는 [Amazon ElastiCache](https://docs.aws.amazon.com/elasticache/index.html)를 사용합니다.

또한 클라이언트와 S3 버킷 간 장거리에 걸쳐 고속 데이터 전송을 원할 경우 [Amazon S3 Transfer Acceleration을 사용하여 빠르고 안전한 파일 전송 구성](transfer-acceleration.md)를 사용하십시오. Transfer Acceleration은 CloudFront에서 전 세계에 분산된 엣지 로케이션을 사용하여 지리적으로 먼 거리 간 데이터 전송을 가속화합니다. Amazon S3 워크로드에서 AWS KMS를 사용한 서버 측 암호화를 사용하는 경우 사용 사례에 지원되는 요청 빈도에 대한 자세한 정보는 AWS Key Management Service 개발자 안내서의 [AWS KMS 제한](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)을 참조하세요.

다음 주제에서는 Amazon S3를 사용하는 애플리케이션의 성능을 최적화하기 위한 모범 사례 지침과 설계 패턴에 대해 설명합니다. Amazon S3 성능 최적화에 대한 최신 정보는 [Amazon S3 성능 지침](optimizing-performance-guidelines.md) 및 [Amazon S3의 성능 디자인 패턴](optimizing-performance-design-patterns.md) 섹션을 참조하십시오.

**참고**  
Amazon S3 Express One Zone 스토리지 클래스를 디렉터리 버킷과 함께 사용하는 방법에 대한 자세한 내용은 [S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone) 및 [디렉터리 버킷 작업](directory-buckets-overview.md) 섹션을 참조하세요.

**Topics**
+ [Amazon S3 성능 지침](optimizing-performance-guidelines.md)
+ [Amazon S3의 성능 디자인 패턴](optimizing-performance-design-patterns.md)

  
