Serentak

Dalam penayangan Knative, setiap revisi otomatis diskalakan ke jumlah instance container yang diperlukan untuk menangani semua permintaan yang masuk.

Ketika ada lebih banyak instance container yang memproses permintaan, lebih banyak CPU dan memori yang akan digunakan, sehingga mengakibatkan biaya yang lebih tinggi. Ketika instance container baru perlu dimulai, permintaan mungkin memerlukan waktu pemrosesan yang lebih lama, sehingga mengurangi performa layanan Anda.

Untuk memberi Anda lebih banyak kontrol, penayangan Knative menyediakan setelan konkurensi yang menentukan jumlah maksimum permintaan yang dapat diproses secara bersamaan oleh instance container tertentu.

Nilai konkurensi

Secara default, instance container penayangan Knative dapat menerima banyak permintaan secara bersamaan (hingga maksimum 80). Perlu diperhatikan bahwa sebagai perbandingan, solusi Functions as a Service (FaaS) seperti Cloud Functions memiliki konkurensi tetap sebesar 1.

Meskipun Anda harus menggunakan nilai serentak default, jika diperlukan, Anda dapat menurunkan permintaan serentak maksimum. Misalnya, jika kode Anda tidak dapat memproses permintaan paralel, tetapkan konkurensi ke 1.

Nilai konkurensi yang ditentukan adalah nilai maksimum dan penayangan Knative mungkin tidak mengirim sebanyak mungkin permintaan ke instance container tertentu jika CPU instance sudah sangat digunakan.

Diagram berikut menunjukkan pengaruh setelan serentak terhadap jumlah instance container yang diperlukan untuk menangani permintaan serentak yang masuk:

Diagram konkurensi

Kapan harus membatasi permintaan serentak ke satu permintaan dalam satu waktu

Anda dapat membatasi permintaan serentak sehingga hanya satu permintaan dalam satu waktu yang akan dikirim ke setiap instance container yang sedang 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.

Perlu diperhatikan bahwa konkurensi 1 kemungkinan akan berdampak negatif terhadap performa penskalaan, karena banyak instance container harus dimulai untuk menangani lonjakan permintaan yang masuk.

Studi kasus

Metrik berikut menunjukkan kasus penggunaan saat 400 klien membuat 3 permintaan per detik ke layanan penayangan Knative yang ditetapkan ke konkurensi maksimum 1. Baris atas berwarna hijau menunjukkan permintaan dari waktu ke waktu, garis biru bawah menunjukkan jumlah instance container yang mulai menangani permintaan.

Konkurensi ditetapkan ke satu

Metrik berikut menunjukkan 400 klien yang membuat 3 permintaan per detik ke layanan penayangan Knative yang ditetapkan ke maksimum 80 permintaan. Baris atas berwarna hijau menunjukkan permintaan dari waktu ke waktu, garis biru bawah menunjukkan jumlah instance penampung yang mulai menangani permintaan. Perhatikan bahwa instance yang diperlukan untuk menangani volume permintaan yang sama jauh lebih sedikit.

Konkurensi ditetapkan ke 80

Langkah selanjutnya

Untuk mengelola layanan penayangan Knative secara serentak, lihat Menetapkan konkurensi.

Untuk mengoptimalkan setelan serentak Anda, lihat tips pengembangan untuk penyesuaian serentak.