Meningkatkan throughput dengan Amazon SES - Layanan Email Sederhana Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Meningkatkan throughput dengan Amazon SES

Ketika Anda mengirim email, Anda dapat menghubungi Amazon SES sesering yang diizinkan oleh laju pengiriman maksimum Anda. (Untuk informasi selengkapnya tentang laju pengiriman maksimum Anda, lihat Mengelola batas pengiriman Amazon SES Anda.) Namun, setiap panggilan ke Amazon SES membutuhkan waktu untuk menyelesaikannya.

Jika Anda membuat beberapa panggilan ke Amazon SES menggunakan API Amazon SES atau antarmuka SMTP, Anda mungkin ingin mempertimbangkan tips berikut untuk membantu Anda meningkatkan throughput Anda:

  • Ukur performa Anda saat ini untuk mengidentifikasi kemacetan—Tes performa yang mungkin melibatkan pengiriman beberapa uji email secepat mungkin dalam kode loop dalam aplikasi Anda. Ukur latensi bolak-balik setiap permintaan SendEmail. Kemudian, secara bertahap meluncurkan instans tambahan dari aplikasi pada mesin yang sama, dan melihat setiap dampak pada latensi jaringan. Anda mungkin juga ingin menjalankan tes ini pada beberapa mesin dan pada jaringan yang berbeda untuk membantu menentukan kemungkinan kemacetan pada sumber daya mesin atau kemacetan pada jaringan yang ada.

  • (Hanya API) Pertimbangkan untuk menggunakan koneksi HTTP yang persisten—Daripada menimbulkan overhead dalam membangun koneksi HTTP baru yang terpisah untuk setiap permintaan API, gunakan koneksi HTTP yang persisten. Artinya, gunakan kembali koneksi HTTP yang sama untuk beberapa permintaan API.

  • Pertimbangkan untuk menggunakan beberapa utas—Ketika aplikasi menggunakan utas tunggal, kode aplikasi memanggil API Amazon SES kemudian bersamaan menunggu respons API. Mengirim email biasanya merupakan operasi I/O yang terikat, dan melakukan pekerjaan dari beberapa utas untuk memberikan throughput yang lebih baik. Anda dapat mengirim secara bersamaan menggunakan banyak utas eksekusi yang Anda inginkan.

  • Pertimbangkan untuk menggunakan beberapa proses—Menggunakan beberapa proses dapat membantu meningkatkan throughput Anda karena Anda akan memiliki lebih banyak koneksi aktif bersamaan ke Amazon SES. Misalnya, Anda dapat memisah email yang Anda maksudkan ke beberapa bucket, kemudian menjalankan beberapa instans dari skrip pengiriman email secara bersamaan.

  • Pertimbangkan untuk menggunakan relay surat lokal—Aplikasi Anda dapat dengan cepat mengirimkan pesan ke server email lokal Anda, yang kemudian dapat membantu untuk mem-buffer pesan dan secara asinkron mengirimkan mereka ke Amazon SES. Beberapa server mail mendukung pengiriman konkurensi, yang berarti bahwa bahkan jika aplikasi Anda menghasilkan email ke server mail secara utas tunggal, server mail akan menggunakan beberapa utas saat mengirim ke Amazon SES. Untuk informasi selengkapnya, lihat Mengintegrasikan Amazon SES dengan server email yang ada.

  • Pertimbangkan hosting aplikasi Anda lebih dekat ke titik akhir API Amazon SES—Anda mungkin ingin mempertimbangkan hosting aplikasi Anda di pusat data dekat dengan titik akhir API Amazon SES, atau pada instans Amazon EC2 di Wilayah AWS sebagai titik akhir API Amazon SES. Hal ini dapat membantu untuk mengurangi latensi jaringan antara aplikasi Anda dan Amazon SES, dan meningkatkan throughput. Untuk daftar wilayah tempat Amazon SES tersedia, lihat Amazon Simple Email Service (Amazon SES) di Amazon SES di Referensi Umum AWS.

  • Pertimbangkan untuk menggunakan beberapa mesin—Tergantung pada konfigurasi sistem pada mesin host Anda, mungkin ada batasan pada jumlah koneksi HTTP serentak ke satu alamat IP, yang dapat membatasi manfaat paralelisme setelah Anda melebihi sejumlah koneksi bersamaan pada satu mesin. Jika ini adalah kemacetan, Anda mungkin ingin mempertimbangkan membuat permintaan Amazon SES secara bersamaan menggunakan beberapa mesin.

  • Pertimbangkan untuk menggunakan API kueri Amazon SES bukan titik akhir SMTP—Menggunakan API kueri Amazon SES memungkinkan Anda untuk mengirim email permintaan pengiriman menggunakan panggilan jaringan tunggal, sedangkan interfacing dengan titik akhir SMTP melibatkan percakapan SMTP yang terdiri dari beberapa permintaan jaringan (misalnya, EHLO, MAIL FROM, RCPT TO, DATA, QUIT). Untuk informasi selengkapnya tentang API kueri Amazon SES, lihat Menggunakan Amazon SES API untuk mengirim email.

  • Menggunakan simulator kotak pesan Amazon SES untuk menguji throughput maksimum—Untuk menguji setiap perubahan yang mungkin Anda terapkan, Anda dapat menggunakan simulator kotak surat. Simulator kotak surat dapat membantu Anda menentukan throughput maksimum sistem tanpa menggunakan kuota pengiriman harian Anda. Untuk informasi selengkapnya tentang simulator kotak surat, lihat Menggunakan simulator kotak surat secara manual menggunakan simulator kotak surat secara manual.

Jika Anda mengakses Amazon SES melalui antarmuka SMTP, lihat Masalah SMTP Amazon SES untuk masalah terkait SMTP tertentu yang dapat mempengaruhi throughput.