Amazon SES 처리량 증가 - Amazon Simple Email Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon SES 처리량 증가

이메일을 전송할 때 최대 전송 속도가 허용하는 한 얼마든지 Amazon SES를 호출할 수 있습니다. (최대 전송 속도에 대한 자세한 내용은 Amazon SES 발신 한도 관리를 참조하세요.) 하지만 각 Amazon SES 호출은 완료하려면 시간이 걸립니다.

Amazon SES API 또는 SMTP 인터페이스를 사용하여 Amazon SES를 여러 번 호출할 경우 다음 팁이 처리량을 개선하는 데 도움이 될 수 있습니다.

  • 현재 성능을 측정하여 병목을 식별—한 가지 가능한 성능 테스트는 여러 개의 테스트 이메일을 애플리케이션의 코드 루프에서 최대한 빠르게 전송하는 것입니다. 각 SendEmail 요청의 왕복 지연 시간을 측정합니다. 그런 다음 동일 시스템에서 애플리케이션의 인스턴스를 점진적으로 추가하며 실행하고 네트워크 지연 시간에 대한 영향을 관찰합니다. 시스템 리소스 병목 또는 네트워크 병목이 존재하는지 정확히 식별하기 위해 이 테스트를 여러 시스템 또는 여러 네트워크에서 실행할 수도 있습니다.

  • (API만 해당) 영구 HTTP 연결 사용을 고려—각 API 요청에 대해 별도의 새 HTTP 연결을 설정하는 오버헤드를 감수하는 대신 영구 HTTP 연결을 사용합니다. 즉, 여러 API 요청에서 동일한 HTTP 연결을 재사용합니다.

  • 다중 스레드 사용을 고려—애플리케이션이 단일 스레드를 사용할 때 애플리케이션 코드가 Amazon SES API를 호출한 후 API 응답을 동기 방식으로 대기합니다. 이메일 전송은 일반적으로 I/O 바운드 작업이며 여러 스레드에서 작업을 수행하면 처량이 개선됩니다. 원하는 만큼 여러 개의 스레드를 사용하여 동시에 발송할 수 있습니다.

  • 다중 프로세스 사용을 고려—다중 프로세스를 사용하면 동시에 활성화되는 Amazon SES 연결이 늘어나므로 처리량이 증가할 수 있습니다. 예를 들어 원하는 이메일을 여러 버킷으로 분할한 후 여러 인스턴스의 이메일 전송 스크립트를 동시에 실행합니다.

  • 로컬 메일 릴레이 사용을 고려—애플리케이션은 메시지를 신속하게 로컬 메일 서버로 전송할 수 있습니다. 그러면 메시지를 버퍼링하고 비동기 방식으로 Amazon SES로 전송하는 데 도움이 될 수 있습니다. 일부 메일 서버는 전송 동시성을 지원합니다. 즉 애플리케이션이 단일 스레드 방식으로 이메일을 메일 서버로 전송하더라도 메일 서버는 Amazon SES로 전송할 때 다중 스레드를 사용합니다. 자세한 내용은 기존 이메일 서버와 Amazon SES 통합 섹션을 참조하세요.

  • 애플리케이션을 Amazon SES API 엔드포인트에 더 가까이 호스팅하는 것을 고려— 애플리케이션을 Amazon SES API 엔드포인트와 인접한 데이터 센터 또는 Amazon SES API 엔드포인트와 동일한 AWS 리전의 Amazon EC2 인스턴스에서 호스팅하는 것을 고려할 수 있습니다. 그러면 애플리케이션과 Amazon SES 사이의 네트워크 지연 시간이 감소하여 처리량 증가에 도움이 될 수 있습니다. Amazon SES를 사용할 수 있는 리전 목록은 AWS 일반 참조Amazon Simple Email Service(Amazon SES)를 참조하세요.

  • 다중 시스템 사용을 고려—호스트 시스템의 시스템 구성에 따라 단일 IP 주소와의 동시 HTTP 연결 수에 제한이 있을 수 있습니다. 이로 인해 단일 시스템에서 허용되는 동시 연결 수를 초과하면 병렬 연결의 이점이 제한될 수 있습니다. 이것이 병목이라면 여러 시스템을 사용한 동시 Amazon SES 요청을 고려할 수 있습니다.

  • SMTP 엔드포인트 대신 Amazon SES 쿼리 API 사용을 고려 - Amazon SES 쿼리 API를 사용하면 단일 네트워크 호출을 통해 이메일 전송 요청을 제출할 수 있지만 SMTP 엔드포인트와의 인터페이스는 여러 네트워크 요청(예: EHLO, MAIL FROM, RCPT TO, DATA, QUIT)으로 구성된 SMTP 변환을 포함합니다. Amazon SES 쿼리 API에 대한 자세한 내용은 Amazon SES API를 사용하여 이메일 보내기 단원을 참조하십시오.

  • Amazon SES 메일박스 시뮬레이터를 사용하여 최대 처리량을 테스트 - 구현하려는 변경 사항을 테스트하기 위해 메일박스 시뮬레이터를 사용할 수 있습니다. 메일박스 시뮬레이터를 사용하면 일일 발신 할당량을 소진하지 않고 시스템의 최대 처리량을 측정할 수 있습니다. 사서함 시뮬레이터에 대한 자세한 내용은 수동으로 메일박스 시뮬레이터 사용 단원을 참조하세요.

SMTP 인터페이스를 통해 Amazon SES에 액세스하는 경우, 처리량에 영향을 미칠 수 있는 특정 SMTP 관련 문제는 Amazon SES SMTP 문제 단원을 참조하십시오.