Dalam penayangan Knative, setiap revisi secara otomatis diskalakan ke jumlah instance container yang diperlukan untuk menangani semua permintaan yang masuk. Jika revisi tidak menerima traffic apa pun, secara default revisi akan diskalakan ke nol instance container. Namun, jika diinginkan, Anda dapat mengubah default ini untuk menentukan instance yang akan tetap tidak ada aktivitas atau "warm" menggunakan setelan instance minimum.
Jumlah instance yang dijadwalkan dipengaruhi oleh:
- Jumlah CPU yang diperlukan untuk memproses permintaan
- Setelan konkurensi
- Jumlah maksimum setelan instance penampung
- Jumlah minimum setelan instance penampung
Dalam beberapa kasus, Anda mungkin ingin membatasi jumlah total instance penampung yang dapat dimulai, karena alasan kontrol biaya atau meningkatkan kompatibilitas dengan resource lain yang digunakan oleh layanan Anda. Misalnya, layanan penayangan Knative Anda mungkin berinteraksi dengan database yang hanya dapat menangani beberapa jumlah koneksi terbuka serentak.
Tentang instance container maksimum
Anda dapat menggunakan setelan instance penampung maksimum untuk membatasi jumlah total instance yang dapat dimulai secara paralel, seperti yang didokumentasikan dalam bagian Menetapkan jumlah maksimum instance penampung.
Melampaui jumlah instance maksimum
Dalam keadaan normal, revisi Anda akan diskalakan dengan membuat instance baru
untuk menangani beban traffic masuk. Namun, ketika Anda mengatur batas jumlah instance maksimum pada
beberapa skenario instance tidak akan cukup untuk memenuhi beban traffic tersebut. Dalam
hal ini, permintaan masuk akan diantrekan hingga 60 detik. Selama periode waktu 60 detik
ini, jika instance selesai memproses permintaan, instance tersebut akan tersedia untuk
memproses permintaan yang dimasukkan dalam antrean. Jika tidak ada instance yang tersedia selama periode 60 detik, permintaan akan gagal dengan kode error 429
di Cloud Run.
Jaminan penskalaan
Batas instance maksimum adalah batas atas. Menetapkan batas tinggi tidak berarti revisi Anda akan diskalakan ke jumlah instance penampung yang ditentukan. Artinya, jumlah instance penampung pada waktu tertentu tidak boleh melebihi batas.
Lonjakan traffic
Dalam beberapa kasus, seperti lonjakan traffic yang cepat, penayangan Knative mungkin, dalam jangka waktu yang singkat, membuat instance penampung yang sedikit lebih banyak daripada nilai instance maksimum yang ditentukan. Jika layanan Anda tidak dapat menoleransi perilaku sementara ini, Anda mungkin ingin mempertimbangkan margin keamanan dan menetapkan nilai instance maksimum yang lebih rendah.
Deployment
Saat Anda men-deploy revisi baru, penayangan Knative akan memigrasikan traffic secara bertahap dari revisi lama ke revisi baru. Karena batas instance maksimum ditetapkan untuk setiap revisi, Anda mungkin melampaui batas yang ditentukan untuk sementara selama periode setelah deployment.
Instance nonaktif dan meminimalkan cold start
Resource Kubernetes hanya digunakan saat instance menangani permintaan, tetapi ini tidak berarti bahwa penayangan Knative akan segera menonaktifkan instance setelah menangani semua permintaan. Untuk meminimalkan dampak cold start, layanan Knative dapat membuat beberapa instance tetap tidak aktif. Instance ini siap menangani permintaan jika terjadi lonjakan traffic secara tiba-tiba.
Misalnya, ketika instance penampung selesai menangani permintaan, instance tersebut mungkin akan tetap dalam keadaan nonaktif selama beberapa waktu jika permintaan lain perlu ditangani. Instance penampung yang tidak ada aktivitasnya dapat mempertahankan resource, seperti koneksi database terbuka. Namun, untuk Cloud Run, CPU tidak akan tersedia
Untuk menyimpan instance nonaktif agar tersedia secarapermanen, gunakan
min-instance
setelan.
Langkah selanjutnya
- Untuk mengelola jumlah maksimum instance layanan penayangan Knative Anda, lihat Menetapkan jumlah maksimum instance penampung.
- Untuk mengelola jumlah maksimum permintaan serentak yang ditangani oleh setiap instance container, lihat Menetapkan serentak.
- Untuk mengoptimalkan setelan serentak Anda, lihat tips pengembangan untuk penyesuaian serentak.
- Untuk menentukan instance nonaktif tetap berjalan pada meminimalkan latensi atau cold starts
pada permintaan pertama, lihat
Pengguna
min-instance
untuk mengaktifkan instance nonaktif.