Dalam penayangan Knative, setiap revisi secara otomatis diskalakan ke jumlah instance container yang diperlukan untuk menangani semua permintaan yang masuk.
Jika ada lebih banyak instance container yang memproses permintaan, lebih banyak CPU dan memori yang akan digunakan, sehingga mengakibatkan biaya yang lebih tinggi. Saat instance penampung baru perlu dimulai, permintaan mungkin memerlukan waktu lebih lama untuk diproses, sehingga mengurangi performa layanan Anda.
Untuk memberi Anda kontrol yang lebih besar, penayangan Knative menyediakan setelan serentak yang menentukan jumlah maksimum permintaan yang dapat diproses secara bersamaan oleh instance penampung tertentu.
Nilai konkurensi
Secara default, instance container penayangan Knative dapat menerima banyak permintaan secara bersamaan (maksimal 80). Perhatikan bahwa sebagai perbandingan, solusi Functions-as-a-Service (FaaS) seperti fungsi Cloud Run memiliki konkurensi tetap 1.
Meskipun Anda harus menggunakan nilai konkurensi default, jika diperlukan, Anda dapat
menurunkan konkurensi maksimum. Misalnya,
jika kode Anda tidak dapat memproses permintaan paralel,
tetapkan konkurensi ke 1
.
Nilai serentak yang ditentukan adalah maksimum dan penayangan Knative mungkin tidak mengirim banyak permintaan ke instance penampung tertentu jika CPU instance sudah digunakan secara tinggi.
Diagram berikut menunjukkan bagaimana setelan serentak memengaruhi jumlah instance penampung yang diperlukan untuk menangani permintaan serentak yang masuk:
Kapan harus membatasi konkurensi untuk satu permintaan dalam satu waktu
Anda dapat membatasi konkurensi sehingga hanya satu permintaan dalam satu waktu yang akan dikirim ke setiap instance penampung yang berjalan. Anda harus mempertimbangkan untuk melakukan hal ini jika:
- Setiap permintaan menggunakan sebagian besar CPU atau memori yang tersedia.
- Image container Anda tidak dirancang untuk menangani beberapa permintaan sekaligus, misalnya, jika container Anda bergantung pada status global yang tidak dapat dibagikan oleh dua permintaan.
Perhatikan bahwa konkurensi 1
kemungkinan akan berdampak negatif terhadap performa
penskalaan, karena banyak instance penampung harus dimulai untuk menangani
lonjakan permintaan yang masuk.
Studi kasus
Metrik berikut menunjukkan kasus penggunaan ketika 400 klien membuat 3 permintaan per detik ke layanan penayangan Knative yang ditetapkan ke serentak maksimum 1. Garis atas berwarna hijau menunjukkan permintaan dari waktu ke waktu, garis biru bawah menunjukkan jumlah instance penampung yang mulai menangani permintaan.
Metrik berikut menunjukkan 400 klien yang membuat 3 permintaan per detik ke layanan penayangan Knative yang ditetapkan ke serentak maksimum 80. Baris atas warna hijau menunjukkan permintaan dari waktu ke waktu, garis biru bawah menunjukkan jumlah instance penampung yang mulai menangani permintaan. Perhatikan bahwa jauh lebih sedikit instance yang diperlukan untuk menangani volume permintaan yang sama.
Langkah selanjutnya
Untuk mengelola konkurensi layanan penayangan Knative, lihat Menetapkan konkurensi.
Untuk mengoptimalkan setelan serentak Anda, lihat tips pengembangan untuk penyesuaian serentak.