Mengonfigurasi instance minimum

Anda dapat menghindari cold start untuk aplikasi dan mengurangi latensi aplikasi dengan menetapkan jumlah minimum instance.

Cloud Functions melakukan penskalaan dengan membuat instance baru dari fungsi Anda. Masing-masing instance ini hanya dapat menangani satu permintaan dalam satu waktu, sehingga lonjakan besar pada volume permintaan sering menyebabkan waktu tunggu yang lebih lama karena instance baru dibuat untuk menangani permintaan.

Karena fungsi bersifat stateless, fungsi Anda terkadang menginisialisasi lingkungan eksekusi dari awal, yang disebut cold start. Proses cold start dapat memakan waktu lama, jadi sebaiknya tetapkan jumlah minimum instance Cloud Functions jika aplikasi Anda sensitif terhadap latensi.

Instance tidak ada aktivitas dan cold start

Untuk meminimalkan dampak cold start, Cloud Functions akan mencoba menjaga instance fungsi tetap tidak aktif selama waktu yang tidak ditentukan setelah menangani permintaan. Selama waktu tidak ada aktivitas ini, resource seperti koneksi database terbuka dapat dipertahankan jika permintaan lain perlu ditangani. Instance dibiarkan tidak aktif dengan cara ini termasuk dalam batas maksimum instance untuk fungsi Anda, tetapi Anda tidak akan ditagih untuk waktu tidak ada aktivitas ini.

Perilaku bawaan ini mungkin tidak memadai untuk aplikasi Anda, terutama jika sensitif terhadap latensi. Menetapkan jumlah minimum instance secara eksplisit dapat lebih membantu Anda menghindari cold start dan mengurangi latensi aplikasi.

Perhatikan bahwa ketika instance dibiarkan tidak aktif karena jumlah minimum instance telah ditetapkan, instance ini tidak dianggap aktif kecuali jika telah melayani traffic baru-baru ini. Misalnya, hal ini berarti bahwa jika suatu fungsi belum menayangkan traffic baru-baru ini, metrik "Instance Aktif" mungkin menunjukkan tidak ada instance yang aktif, meskipun nilai untuk instance minimum telah ditetapkan.

Perhatikan juga bahwa saat menetapkan jumlah minimum instance, Anda akan ditagih untuk waktu nonaktif instance tersebut—lihat Harga.

Menetapkan dan menghapus batas instance minimum

Anda dapat menetapkan jumlah minimum instance untuk fungsi selama deployment. Setiap fungsi memiliki setelan instance minimumnya sendiri.

Menetapkan batas instance minimum

Anda dapat menetapkan batas instance minimum menggunakan Google Cloud CLI atau Google Cloud Console.

Konsol

Untuk menetapkan batas instance minimum untuk fungsi baru:

  1. Untuk membuat fungsi baru, buka halaman Cloud Functions di Google Cloud Console:
    Buka halaman Cloud Functions

  2. Klik Create function.

  3. Lengkapi kolom wajib isi untuk fungsi Anda.

  4. Luaskan bagian Runtime, build... di akhir halaman, lalu klik tab Runtime.

  5. Di kolom Minimum number of instances di bagian Autoscaling, masukkan angka yang lebih besar dari atau sama dengan 1.

  6. Klik Berikutnya.

  7. Klik Deploy.

Untuk menetapkan batas instance minimum untuk fungsi yang ada:

  1. Buka halaman Cloud Functions di Konsol Google Cloud:
    Buka halaman Cloud Functions

  2. Klik nama fungsi yang ada untuk diarahkan ke halaman Detail fungsi.

  3. Klik Edit.

  4. Luaskan bagian Runtime, build... di akhir halaman, lalu klik tab Runtime.

  5. Di kolom Minimum number of instances di bagian Autoscaling, masukkan angka yang lebih besar dari atau sama dengan 1.

  6. Klik Berikutnya.

  7. Klik Deploy.

gcloud

Untuk menetapkan batas instance minimum, jalankan perintah berikut:

gcloud functions deploy FUNCTION_NAME \
--min-instances MIN_INSTANCE_LIMIT

Ganti kode berikut:

  • FUNCTION_NAME: Nama fungsi Anda.

  • MIN_INSTANCE_LIMIT: Jumlah yang akan ditetapkan sebagai batas instance minimum, tidak boleh lebih dari 1.000.

Batas instance minimum fungsi telah ditetapkan.

Menghapus batas instance minimum

Anda dapat menghapus batas instance minimum menggunakan Google Cloud CLI atau Google Cloud Console.

Konsol

Untuk menghapus batas instance minimum fungsi:

  1. Buka halaman Cloud Functions di konsol Google Cloud:
    Buka halaman Cloud Functions

  2. Klik nama fungsi yang ada untuk diarahkan ke halaman Detail fungsi.

  3. Klik Edit.

  4. Luaskan bagian Runtime, build... di akhir halaman, lalu klik tab Runtime.

  5. Di kolom Minimum number of instances di bagian Autoscaling, masukkan 0.

  6. Klik Next.

  7. Klik Deploy.

gcloud

Gunakan flag --clear-min-instances pada waktu deployment:

gcloud functions deploy FUNCTION_NAME --clear-min-instances

Batas instance minimum fungsi dihapus.

Mendapatkan rekomendasi untuk menetapkan instance minimum

Layanan Pemberi rekomendasi secara otomatis menyediakan rekomendasi untuk fungsi yang di-deploy yang dapat memperoleh manfaat dari penetapan instance minimum.