기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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 문제 단원을 참조하십시오.