Mengkonfigurasi konkurensi cadangan untuk suatu fungsi - 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 suatu fungsi

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

  • Konkurensi cadangan - Ini mewakili jumlah maksimum instans bersamaan yang dialokasikan ke fungsi Anda. Ketika fungsi sudah memiliki konkurensi terpesan, tidak ada fungsi lain yang dapat menggunakan konkurensi tersebut. Konkurensi cadangan berguna untuk memastikan bahwa fungsi Anda yang paling penting selalu memiliki konkurensi yang cukup untuk menangani permintaan yang masuk. Mengkonfigurasi konkurensi cadangan untuk suatu fungsi tidak menimbulkan biaya tambahan.

  • Konkurensi yang disediakan — Ini adalah jumlah lingkungan eksekusi pra-inisialisasi yang dialokasikan untuk fungsi Anda. Lingkungan eksekusi ini siap merespons segera permintaan fungsi yang masuk. Konkurensi yang disediakan berguna untuk mengurangi latensi start dingin untuk fungsi. 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 suatu fungsi

catatan

Fungsi 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 instans bersamaan adalah 1. Menyetel konkurensi cadangan atau yang disediakan untuk fungsi Anda tidak mengubah batasan ini. Untuk meminta peningkatan konkurensi maksimum default saat menggunakan Amazon MQ, hubungi. AWS Support

Mengonfigurasi konkurensi terpesan

Anda dapat mengonfigurasi pengaturan konkurensi cadangan untuk suatu fungsi menggunakan konsol Lambda atau Lambda. API

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

  2. Pilih fungsi yang ingin Anda pesan konkurensi.

  3. Pilih Konfigurasi, lalu pilih Konkurensi.

  4. Dalam Konkurensi, pilih Edit.

  5. Pilih Pesan konkurensi. Masukkan jumlah konkurensi yang dipesan untuk fungsi tersebut.

  6. Pilih Simpan.

Anda dapat melakukan reservasi hingga nilai konkurensi akun Unreserved dikurangi 100. 100 unit konkurensi yang tersisa adalah untuk fungsi 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.

Terjadi kesalahan jika Anda mencoba memesan terlalu banyak konkurensi.

Pemesanan konkurensi untuk suatu fungsi memengaruhi kumpulan konkurensi yang tersedia untuk fungsi lain. Misalnya, jika Anda memesan 100 unit konkurensi untukfunction-a, fungsi 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, atur konkurensi cadangannya ke 0. Ini menghentikan fungsi Anda dari memproses peristiwa apa pun hingga Anda menghapus batasnya.

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

Misalnya, untuk mengonfigurasi konkurensi cadangan dengan AWS Command Line Interface (CLI), gunakan put-function-concurrency perintah. Perintah berikut menyimpan 100 unit konkurensi untuk fungsi 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 suatu fungsi

Jika fungsi 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 di akun Anda.

Grafik yang menunjukkan konkurensi untuk suatu fungsi dari waktu ke waktu.

Grafik sebelumnya menunjukkan bahwa fungsi ini melayani rata-rata 5 hingga 10 permintaan bersamaan pada waktu tertentu, dan memuncak pada 20 permintaan pada hari biasa. Misalkan ada banyak fungsi lain di akun Anda. Jika fungsi 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 Lihat metrik untuk fungsi Lambda untuk detail selengkapnya.

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