View a markdown version of this page

Mengkonfigurasi konkurensi yang dicadangkan 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 yang dicadangkan 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 menetapkan jumlah maksimum dan minimum instans bersamaan yang dialokasikan untuk fungsi Anda. Ketika fungsi sudah memiliki konkurensi terpesan, tidak ada fungsi lain yang dapat menggunakan konkurensi tersebut. Konkurensi cadangan berguna untuk memastikan bahwa fungsi paling penting Anda selalu memiliki konkurensi yang cukup untuk menangani permintaan 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 - ini mencadangkan kapasitas yang ditentukan secara eksklusif untuk fungsi Anda sementara juga mencegahnya menskalakan melampaui batas itu. Mengkonfigurasi konkurensi yang dicadangkan untuk suatu fungsi tidak dikenakan biaya tambahan.

  • Konkurensi yang disediakan — Ini adalah jumlah lingkungan eksekusi pra-inisialisasi yang dialokasikan untuk fungsi Anda. Lingkungan eksekusi ini siap untuk segera merespons 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 mendapat manfaat paling besar dari fitur ini. Itu adalah aplikasi dengan pengguna yang memulai permintaan, seperti aplikasi web dan seluler, dan yang paling sensitif terhadap latensi. Beban kerja asinkron, seperti pipeline pemrosesan data, seringkali kurang sensitif terhadap latensi sehingga biasanya tidak memerlukan konkurensi yang disediakan. Mengkonfigurasi konkurensi yang disediakan akan dikenakan biaya tambahan kepada Anda. Akun AWS

Topik ini merinci cara mengelola dan mengonfigurasi konkurensi yang dicadangkan. Untuk ikhtisar konseptual dari kedua 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 instance bersamaan adalah 5. Untuk Rabbit MQ, jumlah maksimum instance bersamaan adalah 1. Menyetel konkurensi yang dicadangkan atau disediakan untuk fungsi Anda tidak mengubah batas ini. Untuk meminta peningkatan konkurensi maksimum default saat menggunakan Amazon MQ, hubungi. Dukungan

Mengonfigurasi konkurensi terpesan

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

Untuk memesan 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 memesan hingga nilai konkurensi akun Tanpa Reservasi dikurangi 100. Sisa 100 unit konkurensi adalah untuk fungsi yang tidak menggunakan konkurensi yang dicadangkan. Misalnya, jika akun Anda memiliki batas konkurensi 1.000, Anda tidak dapat memesan semua 1.000 unit konkurensi ke satu fungsi.

Kesalahan terjadi jika Anda mencoba untuk memesan terlalu banyak konkurensi.

Memesan konkurensi untuk suatu fungsi berdampak pada kumpulan konkurensi yang tersedia untuk fungsi lain. Misalnya, jika Anda memesan 100 unit konkurensifunction-a, fungsi lain di akun Anda harus berbagi sisa 900 unit konkurensi, meskipun function-a tidak menggunakan semua 100 unit konkurensi yang dicadangkan.

Untuk secara sengaja membatasi fungsi, atur konkurensi yang dicadangkan ke 0. Ini menghentikan fungsi Anda memproses peristiwa apa pun sampai Anda menghapus batas.

Untuk mengonfigurasi konkurensi yang dicadangkan dengan API Lambda, gunakan operasi API berikut.

Misalnya, untuk mengkonfigurasi konkurensi yang dicadangkan dengan AWS Command Line Interface (CLI), gunakan perintahput-function-concurrency. Perintah berikut mencadangkan 100 unit konkurensi untuk fungsi bernama: my-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 konkurensinya menggunakan met CloudWatch rik. 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 yang dipesan.

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 batasan 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 fungsi Anda dapat menskalakan, konfigurasikan konkurensi yang dicadangkan pada fungsi Anda.