Dalam penayangan Knative, setiap revisi secara otomatis diskalakan ke jumlah instance container yang diperlukan untuk menangani semua permintaan masuk. Jika revisi tidak menerima traffic apa pun, secara default dan diskalakan ke instance container nol. Namun, jika diinginkan, Anda dapat ubah default ini untuk menentukan instance agar tetap tidak ada aktivitas atau "warm" menggunakan setelan instance minimum.
Jumlah instance yang dijadwalkan dipengaruhi oleh:
- Jumlah CPU yang dibutuhkan untuk memproses permintaan
- Setelan konkurensi
- Setelan jumlah maksimum instance container
- Jumlah minimum setelan instance container
Dalam beberapa kasus, Anda mungkin ingin membatasi jumlah total instance container yang dapat dimulai, untuk alasan pengendalian biaya, atau untuk kompatibilitas yang lebih baik dengan resource lain yang digunakan oleh layanan Anda. Misalnya, penayangan Knative Anda layanan dapat berinteraksi dengan {i>database<i} yang hanya bisa menangani sejumlah koneksi terbuka serentak.
Tentang instance container maksimum
Anda dapat menggunakan setelan instance container maksimum untuk membatasi jumlah total yang dapat dimulai secara paralel, seperti yang didokumentasikan dalam Menetapkan jumlah maksimum instance container.
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. Di beberapa
dalam hal ini, antrian permintaan
masuk hingga 60 detik. Selama 60 detik ini,
jendela baru, jika sebuah instance selesai memproses permintaan, permintaan itu akan tersedia untuk
memproses permintaan dalam antrean. Jika tidak ada instance yang tersedia selama 60 detik
permintaan gagal dengan kode error 429
di Cloud Run.
Jaminan penskalaan
Batas instance maksimum adalah batas atas. Menetapkan batas yang tinggi tidak berarti bahwa revisi Anda akan diskalakan ke jumlah instance kontainer yang ditentukan. Artinya, jumlah instance kontainer pada suatu saat tertentu harus tidak melebihi batas.
Lonjakan traffic
Dalam beberapa kasus, seperti lonjakan lalu lintas yang cepat, layanan Knative mungkin, untuk jangka waktu tertentu, membuat instance container yang sedikit lebih banyak daripada instance yang ditentukan untuk nilai instance maksimum. Jika layanan Anda tidak dapat menoleransi perilaku sementara ini, sebaiknya pertimbangkan margin keamanan dan tetapkan nilai instance maksimal yang lebih rendah.
Deployment
Saat Anda men-deploy revisi baru, layanan Knative secara bertahap memigrasikan traffic dari revisi lama ke revisi yang baru. Karena batas instance maksimum ditetapkan untuk setiap revisi, Anda dapat melampaui batas yang ditentukan untuk sementara selama periode tersebut setelah deployment.
Instance nonaktif dan meminimalkan cold start
Resource Kubernetes hanya dipakai saat instance menangani permintaan, tetapi ini tidak berarti bahwa penyaluran Knative segera mematikan setelah mereka menangani semua permintaan. Untuk meminimalkan dampak dingin dimulai, penyaluran Knative mungkin membuat beberapa instance tidak ada aktivitas. Ini instance siap menangani permintaan ketika terjadi lonjakan traffic tiba-tiba.
Misalnya, ketika instance container telah selesai menangani permintaan, instance tersebut mungkin tetap tidak ada aktivitas selama jangka waktu tertentu jika permintaan lain perlu ditangani. Instance container tidak ada aktivitas dapat mempertahankan resource, seperti resource koneksi database. 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 container.
- Untuk mengelola jumlah maksimum permintaan simultan yang ditangani oleh setiap instance container, lihat Menetapkan permintaan 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.