View a markdown version of this page

Mengkonfigurasi perilaku penskalaan untuk pemetaan sumber peristiwa SQS - AWS Lambda

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

Mengkonfigurasi perilaku penskalaan untuk pemetaan sumber peristiwa SQS

Anda dapat mengontrol perilaku penskalaan pemetaan sumber peristiwa Amazon SQS Anda baik melalui pengaturan konkurensi maksimum atau dengan mengaktifkan mode yang disediakan. Ini adalah opsi yang saling eksklusif.

Secara default, Lambda secara otomatis menskalakan poller peristiwa berdasarkan volume pesan. Saat mengaktifkan mode yang disediakan, Anda mengalokasikan jumlah minimum dan maksimum sumber polling khusus yang tetap siap menangani pola lalu lintas yang diharapkan. Anda dapat mengoptimalkan kinerja pemetaan sumber acara dengan dua cara:

  • Mode standar (Default): Lambda secara otomatis mengelola penskalaan, dimulai dengan sejumlah kecil poller dan meningkatkan atau menurunkan skala berdasarkan beban kerja.

  • Mode yang disediakan: Anda mengonfigurasi sumber polling khusus dengan batas minimum dan maksimum, memungkinkan penskalaan 3 kali lebih cepat dan kapasitas pemrosesan hingga 16 kali lebih tinggi.

Untuk antrian standar, Lambda menggunakan polling panjang untuk polling antrian hingga menjadi aktif. Ketika pesan tersedia, Lambda mulai memproses lima batch sekaligus dengan lima pemanggilan fungsi Anda secara bersamaan. Jika pesan masih tersedia, Lambda meningkatkan jumlah proses yang membaca batch hingga 300 lebih banyak panggilan bersamaan per menit. Jumlah maksimum pemanggilan yang dapat diproses pemetaan sumber peristiwa secara bersamaan adalah 1.250. Ketika lalu lintas rendah, Lambda mengurangi pemrosesan menjadi lima panggilan bersamaan, dan dapat mengoptimalkan hingga sedikitnya 2 panggilan bersamaan untuk mengurangi panggilan Amazon SQS dan biaya yang sesuai. Namun, pengoptimalan ini tidak tersedia saat Anda mengaktifkan pengaturan konkurensi maksimum.

Untuk antrean FIFO, Lambda mengirimkan pesan ke fungsi Anda sesuai urutan penerimaan. Saat Anda mengirimkan pesan ke antrean FIFO, Anda menentukan ID grup pesan. Amazon SQS memastikan bahwa pesan dalam grup yang sama dikirim ke Lambda secara berurutan. Saat Lambda membaca pesan Anda ke dalam batch, setiap batch mungkin berisi pesan dari lebih dari satu grup pesan, tetapi urutan pesan dipertahankan. Jika fungsi Anda mengembalikan kesalahan, fungsi akan mencoba semua percobaan ulang pada pesan yang terpengaruh sebelum Lambda menerima pesan tambahan dari grup yang sama.

Saat menggunakan mode yang disediakan, setiap poller peristiwa dapat menangani hingga 1 MB/sec throughput, hingga 10 panggilan bersamaan, atau hingga 10 panggilan API polling Amazon SQS per detik. Lambda menskalakan jumlah poller peristiwa antara minimum dan maksimum yang dikonfigurasi, dengan cepat menambahkan hingga 1.000 konkurensi per menit untuk memberikan pemrosesan peristiwa Amazon SQS yang konsisten dan latensi rendah. Menggunakan mode yang disediakan menimbulkan biaya tambahan. Untuk harga terperinci, lihat AWS Lambda harga.

Setiap poller acara menggunakan polling panjang ke antrian SQS Anda hingga 10 polling per detik, yang dikenakan biaya permintaan SQS API. Lihat harga Amazon SQS untuk detailnya. Anda mengontrol penskalaan dan konkurensi melalui pengaturan poller peristiwa minimum dan maksimum ini, daripada menggunakan pengaturan konkurensi maksimum, karena opsi ini tidak dapat digunakan bersama.

catatan

Anda tidak dapat menggunakan pengaturan konkurensi maksimum dan mode yang disediakan secara bersamaan. Saat mode yang disediakan diaktifkan, Anda mengontrol penskalaan dan konkurensi pemetaan sumber peristiwa Amazon SQS melalui jumlah poller peristiwa minimum dan maksimum.

Mengkonfigurasi konkurensi maksimum untuk sumber acara Amazon SQS

Anda dapat menggunakan pengaturan konkurensi maksimum untuk mengontrol perilaku penskalaan untuk sumber peristiwa SQS Anda. Perhatikan bahwa konkurensi maksimum tidak dapat digunakan dengan mode yang disediakan diaktifkan. Pengaturan konkurensi maksimum membatasi jumlah instance bersamaan dari fungsi yang dapat dipanggil oleh sumber peristiwa Amazon SQS. Konkurensi maksimum adalah pengaturan tingkat sumber peristiwa. Jika Anda memiliki beberapa sumber peristiwa Amazon SQS yang dipetakan ke satu fungsi, setiap sumber peristiwa dapat memiliki setelan konkurensi maksimum yang terpisah.

Anda dapat menggunakan konkurensi maksimum untuk mencegah satu antrian menggunakan semua konkurensi cadangan fungsi atau sisa kuota konkur ensi akun. Tidak ada biaya untuk mengonfigurasi konkurensi maksimum pada sumber peristiwa Amazon SQS.

Yang penting, konkurensi maksimum dan konkurensi cadangan adalah dua pengaturan independen. Jangan menetapkan konkurensi maksimum lebih tinggi dari konkurensi cadangan fungsi. Jika Anda mengonfigurasi konkurensi maksimum, pastikan konkurensi cadangan fungsi Anda lebih besar dari atau sama dengan total konkurensi maksimum untuk semua sumber peristiwa Amazon SQS pada fungsi tersebut. Jika tidak, Lambda mungkin membatasi pesan Anda.

Ketika kuota konkurensi akun Anda disetel ke nilai default 1.000, pemetaan sumber peristiwa Amazon SQS dapat diskalakan untuk memanggil instance fungsi hingga nilai ini, kecuali Anda menentukan konkurensi maksimum.

Jika Anda menerima peningkatan kuota konkurensi default akun Anda, Lambda mungkin tidak dapat memanggil instance fungsi bersamaan hingga kuota baru Anda. Secara default, Lambda dapat menskalakan untuk memanggil hingga 1.250 instans fungsi bersamaan untuk pemetaan sumber peristiwa Amazon SQS. Jika ini tidak cukup untuk kasus penggunaan Anda, hubungi AWS dukungan untuk mendiskusikan peningkatan konkurensi pemetaan sumber peristiwa Amazon SQS akun Anda.

catatan

Untuk antrian FIFO, pemanggilan bersamaan dibatasi oleh jumlah ID grup pesan (messageGroupId) atau pengaturan konkurensi maksimum—mana yang lebih rendah. Misalnya, jika Anda memiliki enam ID grup pesan dan konkurensi maksimum disetel ke 10, fungsi Anda dapat memiliki maksimum enam pemanggilan bersamaan.

Anda dapat mengonfigurasi konkurensi maksimum pada pemetaan sumber peristiwa Amazon SQS yang baru dan yang sudah ada.

Konfigurasikan konkurensi maksimum menggunakan konsol Lambda
  1. Buka Halaman fungsi di konsol Lambda.

  2. Pilih nama sebuah fungsi.

  3. Di bawah Ikhtisar fungsi, pilih SQS. Ini membuka tab Konfigurasi.

  4. Pilih pemicu Amazon SQS dan pilih Edit.

  5. Untuk Konkurensi maksimum, masukkan angka antara 2 dan 1.000. Untuk mematikan konkurensi maksimum, biarkan kotak kosong.

  6. Pilih Simpan.

Konfigurasikan konkurensi maksimum menggunakan AWS Command Line Interface (AWS CLI)

Gunakan perintah update-event-source- mapping dengan opsi. --scaling-config Contoh:

aws lambda update-event-source-mapping \ --uuid "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" \ --scaling-config '{"MaximumConcurrency":5}'

Untuk mematikan konkurensi maksimum, masukkan nilai kosong untuk: --scaling-config

aws lambda update-event-source-mapping \ --uuid "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" \ --scaling-config "{}"
Konfigurasikan konkurensi maksimum menggunakan API Lambda

Gunakan UpdateEventSourceMapping tindakan CreateEventSourceMapping atau dengan ScalingConfig objek.