View a markdown version of this page

Mengkonfigurasi konkurensi cadangan untuk Fungsi Acara - AWS Lambda

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

Mengkonfigurasi konkurensi cadangan untuk Fungsi Acara

Di Lambda, konkurensi adalah jumlah permintaan dalam penerbangan yang saat ini ditangani oleh Fungsi Acara Anda. Ada dua tipe kontrol konkurensi yang tersedia:

  • Konkurensi cadangan - Ini menetapkan jumlah maksimum dan minimum instans bersamaan yang dialokasikan ke Fungsi Acara Anda. Ketika Fungsi Peristiwa telah mencadangkan konkurensi, tidak ada Fungsi Peristiwa lain yang dapat menggunakan konkurensi itu. Konkurensi cadangan berguna untuk memastikan bahwa fungsi Anda yang paling penting selalu memiliki konkurensi yang cukup untuk menangani permintaan yang masuk. Selain itu, konkurensi cadangan dapat digunakan untuk membatasi konkurensi untuk mencegah sumber daya hilir yang berlebihan, seperti koneksi database. Konkurensi cadangan bertindak sebagai batas bawah dan atas - ia menyimpan kapasitas yang ditentukan secara eksklusif untuk fungsi Anda sementara juga mencegahnya dari penskalaan melampaui batas itu. Mengkonfigurasi konkurensi cadangan untuk suatu fungsi tidak menimbulkan biaya tambahan.

  • Konkurensi yang disediakan - Ini adalah jumlah lingkungan eksekusi pra-inisialisasi yang dialokasikan ke Fungsi Acara Anda. Lingkungan eksekusi ini siap merespons segera permintaan fungsi yang masuk. Konkurensi yang disediakan berguna untuk mengurangi latensi start dingin untuk fungsi dan dirancang untuk membuat fungsi tersedia dengan waktu respons milidetik dua digit. Umumnya, beban kerja interaktif paling diuntungkan dari fitur ini. Itu adalah aplikasi dengan pengguna yang memulai permintaan, seperti aplikasi web dan seluler, dan paling sensitif terhadap latensi. Beban kerja asinkron, seperti pipa pemrosesan data, seringkali kurang sensitif terhadap latensi sehingga biasanya tidak memerlukan konkurensi yang disediakan. Mengkonfigurasi konkurensi yang disediakan menimbulkan biaya tambahan untuk Anda. Akun AWS

Topik ini merinci cara mengelola dan mengonfigurasi konkurensi cadangan. Untuk gambaran konseptual dari dua jenis kontrol konkurensi ini, lihat Konkurensi cadangan dan konkurensi yang disediakan. Untuk informasi tentang mengonfigurasi konkurensi yang disediakan, lihat. Mengkonfigurasi konkurensi yang disediakan untuk Fungsi Peristiwa

catatan

Fungsi Peristiwa Lambda yang ditautkan ke pemetaan sumber peristiwa Amazon MQ memiliki konkurensi maksimum default. Untuk Apache Active MQ, jumlah maksimum instans bersamaan adalah 5. Untuk Rabbit MQ, jumlah maksimum instance bersamaan adalah 1. Menyetel konkurensi cadangan atau yang disediakan untuk Fungsi Acara Anda tidak mengubah batasan ini. Untuk meminta peningkatan konkurensi maksimum default saat menggunakan Amazon MQ, hubungi. Dukungan

Mengonfigurasi konkurensi terpesan

Anda dapat mengonfigurasi pengaturan konkurensi cadangan untuk Fungsi Peristiwa Lambda menggunakan konsol Lambda atau API Lambda.

Untuk mencadangkan konkurensi untuk Fungsi Acara (konsol)
  1. Buka halaman Fungsi Acara konsol Lambda.

  2. Pilih Fungsi Acara yang ingin Anda pesan konkurensi.

  3. Pilih Konfigurasi, lalu pilih Konkurensi.

  4. Dalam Konkurensi, pilih Edit.

  5. Pilih Pesan konkurensi. Masukkan jumlah konkurensi untuk dicadangkan untuk Fungsi Acara.

  6. Pilih Simpan.

Anda dapat melakukan reservasi hingga nilai konkurensi akun Unreserved dikurangi 100. 100 unit konkurensi yang tersisa adalah untuk Fungsi Acara yang tidak menggunakan konkurensi cadangan. Misalnya, jika akun Anda memiliki batas konkurensi 1.000, Anda tidak dapat memesan semua 1.000 unit konkurensi ke satu Fungsi Acara.

Terjadi kesalahan jika Anda mencoba memesan terlalu banyak konkurensi.

Reservasi konkurensi untuk Fungsi Acara berdampak pada kumpulan konkurensi yang tersedia untuk Fungsi Acara lainnya. Misalnya, jika Anda memesan 100 unit konkurensi untukfunction-a, Fungsi Acara lain di akun Anda harus berbagi 900 unit konkurensi yang tersisa, bahkan jika function-a tidak menggunakan semua 100 unit konkurensi cadangan.

Untuk sengaja membatasi Fungsi Peristiwa, atur konkurensi cadangannya ke 0. Ini menghentikan Fungsi Acara Anda dari memproses peristiwa apa pun hingga Anda menghapus batasnya.

Untuk mengonfigurasi konkurensi cadangan dengan Lambda API, gunakan operasi API berikut.

Misalnya, untuk mengonfigurasi konkurensi cadangan dengan AWS Command Line Interface (CLI), gunakan put-function-concurrency perintah. Perintah berikut menyimpan 100 unit konkurensi untuk Fungsi Acara bernamamy-function:

aws lambda put-function-concurrency --function-name my-function \ --reserved-concurrent-executions 100

Anda akan melihat output yang terlihat seperti berikut:

{ "ReservedConcurrentExecutions": 100 }

Memperkirakan secara akurat konkurensi cadangan yang diperlukan untuk Fungsi Acara

Jika Fungsi Acara Anda saat ini melayani lalu lintas, Anda dapat dengan mudah melihat metrik konkurensi menggunakan CloudWatch metrik. Secara khusus, ConcurrentExecutions metrik menunjukkan jumlah pemanggilan bersamaan untuk setiap Fungsi Acara di akun Anda.

Grafik yang menunjukkan konkurensi untuk Fungsi Peristiwa dari waktu ke waktu.

Grafik sebelumnya menunjukkan bahwa Fungsi Acara ini melayani rata-rata 5 hingga 10 permintaan bersamaan pada waktu tertentu, dan memuncak pada 20 permintaan pada hari biasa. Misalkan ada banyak Fungsi Acara lainnya di akun Anda. Jika Fungsi Acara ini sangat penting untuk aplikasi Anda dan Anda tidak ingin membatalkan permintaan apa pun, gunakan angka yang lebih besar dari atau sama dengan 20 sebagai pengaturan konkurensi cadangan Anda.

Atau, ingatlah bahwa Anda juga dapat menghitung konkurensi menggunakan rumus berikut:

Concurrency = (average requests per second) * (average request duration in seconds)

Mengalikan permintaan rata-rata per detik dengan durasi permintaan rata-rata dalam hitungan detik memberi Anda perkiraan kasar tentang berapa banyak konkurensi yang perlu Anda pesan. Anda dapat memperkirakan permintaan rata-rata per detik menggunakan Invocation metrik, dan durasi permintaan rata-rata dalam detik menggunakan Duration metrik. Lihat Menggunakan CloudWatch metrik dengan Lambda untuk detail selengkapnya.

Anda juga harus terbiasa dengan kendala throughput hulu dan hilir Anda. Sementara Fungsi Peristiwa Lambda menskalakan secara mulus dengan beban, dependensi hulu dan hilir mungkin tidak memiliki kemampuan throughput yang sama. Jika Anda perlu membatasi seberapa tinggi skala Fungsi Acara Anda, konfigurasikan konkurensi cadangan pada Fungsi Acara Anda.