Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
ID region
REGION_ID adalah kode singkat yang ditetapkan Google berdasarkan region yang Anda pilih saat membuat aplikasi. Kode ini tidak sesuai dengan negara atau provinsi, meskipun beberapa ID region mungkin tampak mirip dengan kode negara dan provinsi yang umum digunakan. Untuk aplikasi yang dibuat setelah Februari 2020, REGION_ID.r disertakan dalam URL App Engine. Untuk aplikasi lama yang dibuat sebelum tanggal tersebut, ID region bersifat opsional dalam URL.
Anda mengkonfigurasi setelan aplikasi App Engine di file app.yaml.
File app.yaml juga berisi informasi tentang kode
aplikasi Anda, seperti runtime dan ID versi
terbaru.
Setiap layanan
di aplikasi Anda memiliki file app.yaml tersendiri, yang berfungsi sebagai deskriptor untuk
deployment-nya. Anda harus membuat file app.yaml terlebih dahulu untuk layanan default
sebelum dapat membuat dan men-deploy file app.yaml untuk layanan tambahan dalam
aplikasi Anda.
Untuk Go 1.11, app.yaml harus berisi setidaknya
entri runtime. Untuk ringkasan, lihat
Menentukan Setelan
Runtime.
Struktur direktori
Setiap folder layanan harus berisi satu file app.yaml dan satu atau lebih file sumber Go yang menyertakan pernyataan package main di bagian awal.
Untuk mempelajari lebih lanjut cara menyusun beberapa layanan di aplikasi Anda, lihat Penyusunan Layanan Web di App Engine.
Contoh
Berikut adalah contoh file app.yaml untuk aplikasi
Go 1.11:
Format YAML mendukung komentar. Baris yang dimulai dengan karakter tagar (#)
akan diabaikan:
# This is a comment.
Pola jalur file dan URL menggunakan sintaksis ekspresi reguler POSIX yang diperluas, kecuali elemen pengkolasi dan class kolasi. Referensi balik ke pencocokan yang dikelompokkan (misalnya \1) didukung, begitu juga ekstensi Perl berikut: \w \W \s \S \d \D.
Elemen aplikasi dan runtime
Elemen
Deskripsi
build_env_variables
Opsional. Jika menggunakan runtime yang mendukung
buildpack, Anda
dapat menentukan variabel lingkungan build dalam
file app.yaml.
Opsional. Menetapkan periode cache default global untuk semua
pengendali file statis aplikasi. Anda juga dapat mengonfigurasi durasi cache untuk pengendali file statis
tertentu. Nilainya berupa string angka dan unit, yang dipisahkan dengan
spasi, yang unitnya dapat berupa d untuk hari, h untuk jam, m untuk menit, dan s
untuk detik. Misalnya, "4d 5h" menetapkan masa berlaku cache
ke 4 hari dan 5 jam setelah file pertama kali diminta. Jika dihilangkan,
server produksi akan menetapkan masa berlaku ke 10 menit.
Opsional.
Mengabaikan perilaku proses mulai default dengan menjalankan
perintah entrypoint saat aplikasi Anda dimulai. Agar aplikasi Anda
dapat menerima permintaan HTTP, elemen entrypoint harus
berisi perintah yang memulai server web yang memproses port 8080.
env_variables
Opsional.
Anda dapat menentukan variabel lingkungan di file app.yaml
agar tersedia untuk aplikasi Anda. Pastikan kunci di variabel Lingkungan cocok dengan ekspresi '[a-zA-Z_][a-zA-Z0-9_]*' (dimulai dengan alfabet atau "_" yang diikuti dengan alfanumerik atau "_").
Variabel lingkungan yang diawali dengan
GAE dicadangkan untuk penggunaan sistem dan tidak diizinkan di
file app.yaml.
Contoh:
env_variables:MY_VAR:"myvalue"
dengan MY_VAR dan my value adalah nama dan
nilai variabel lingkungan yang ingin Anda tentukan dan setiap
entri variabel lingkungan diindentasi dua spasi pada
elemen env_variables. Variabel lingkungan yang tidak diberi
nilai default ke "None".
Anda kemudian bisa mendapatkan nilai ini menggunakan os.Getenv:
Ditayangkan jika batas waktu tercapai sebelum ada respons dari
aplikasi Anda.
Error_code bersifat opsional; jika tidak ditentukan, file yang diberikan
akan menjadi respons error default untuk aplikasi Anda.
file
Setiap entri file menunjukkan file statis yang harus ditampilkan sebagai
pengganti respons error umum. Jika Anda menentukan
elemen file tanpa elemen
error_code yang sesuai, file statis tersebut akan menjadi halaman
error default untuk aplikasi Anda.
Data error khusus harus berukuran kurang dari 10 kilobyte.
Opsional.
Daftar pola URL dan deskripsi mengenai cara penanganannya.
App Engine dapat menangani URL dengan mengeksekusi kode aplikasi, atau
dengan menyajikan file statis yang diupload dengan kode, seperti image, CSS,
atau JavaScript.
Opsional.
Aplikasi harus mengaktifkan layanan tersebut sebelum dapat menerima permintaan
masuk. Anda dapat mengaktifkan layanan untuk aplikasi Go 1.11
dengan menyertakan bagian inbound_services dalam
file app.yaml.
Nilai berikut tersedia, bergantung pada
penskalaan
layanan Anda:
Penskalaan otomatis
F1, F2, F4, F4_1G
Default:F1
Anda dapat menggunakan elemen automatic_scaling untuk mengubah setelan
default untuk penskalaan otomatis, seperti jumlah minimum dan maksimum
instance, latensi, serta koneksi serentak.
Catatan: Jika instance_class
ditetapkan ke F2 atau yang lebih tinggi, Anda dapat mengoptimalkan instance
dengan menetapkan max_concurrent_requests ke nilai yang lebih tinggi dari
nilai default 10. Untuk menentukan nilai optimal,
tingkatkan secara bertahap dan pantau kinerja aplikasi
Anda.
Penskalaan dasar dan manual
B1, B2, B4, B4_1G, B8
Default:B2
Class instance dasar dan manual mengharuskan Anda menentukan
elemen basic_scaling atau elemen manual_scaling.
Opsional.
Jalur atau nama paket yang sepenuhnya memenuhi syarat dari paket utama. Setelan
ini hanya berlaku jika aplikasi Anda menggunakan mode modul Go.
Anda harus mendeklarasikan jalur ke paket utama jika
package main tidak berada dalam direktori yang sama dengan
app.yaml. Elemen main mendukung jalur file
yang relatif terhadap app.yaml atau nama paket lengkap. Misalnya,
jika aplikasi Anda memiliki struktur direktori berikut:
Wajib. Nama lingkungan runtime yang digunakan oleh
aplikasi Anda. Misalnya, untuk menentukan Go 1.11, gunakan:
runtime:go111
service
Diperlukan jika membuat
layanan.
Opsional untuk layanan
default. Setiap layanan dan setiap versi harus memiliki nama. Nama dapat
berisi angka, huruf, dan tanda hubung. Panjang gabungan dari
VERSION-dot-SERVICE-dot-PROJECT_ID, dengan VERSION sebagai nama
versi Anda, SERVICE sebagai nama layanan, dan PROJECT_ID
adalah ID project Anda, tidak boleh lebih dari 63 karakter dan tidak boleh
diawali atau diakhiri dengan tanda hubung. Pilih nama unik untuk setiap layanan
dan versi. Jangan gunakan ulang nama yang sudah digunakan untuk penamaan layanan dan versi.
Contoh:
service:service-name
service_account
Opsional. Elemen service_account memungkinkan Anda menentukan
akun layanan yang dikelola pengguna sebagai identitas untuk versi tersebut. Akun layanan yang ditentukan digunakan saat mengakses layanan Google Cloud lainnya dan menjalankan tugas.
Opsional.
Mengonfigurasi aplikasi Anda untuk menggunakan konektor Akses VPC
Serverless, yang memungkinkan aplikasi mengirim permintaan ke
resource internal dalam jaringan VPC Anda. Untuk mengetahui informasi selengkapnya, lihat
Menghubungkan ke jaringan VPC.
name
Literal string. Tentukan nama konektor Akses VPC Serverless
Anda yang sepenuhnya memenuhi syarat dengan tanda kutip:
Opsional. Nilai defaultnya adalah private-ranges-only. egress_setting
dapat berupa salah satu dari berikut:
private-ranges-only
Default. Permintaan ke alamat IP internal dikirim melalui
konektor Akses VPC Serverless ke jaringan
VPC yang terhubung. Permintaan ke alamat IP eksternal dikirim ke internet publik.
all-traffic
Semua permintaan dikirim melalui
konektor Akses VPC Serverless ke dalam
jaringan VPC yang terhubung.
Elemen handlers menyediakan daftar pola
URL dan deskripsi cara penanganannya. App Engine dapat
menangani URL dengan mengeksekusi kode aplikasi, menyajikan file statis yang diupload
dengan kode, seperti image, CSS, atau JavaScript.
Pola dievaluasi sesuai urutan kemunculannya dalam file app.yaml, dari
atas ke bawah. Pemetaan pertama yang polanya cocok dengan URL adalah pemetaan yang digunakan
untuk menangani permintaan.
Tabel berikut mencantumkan subelemen dari elemen handlers yang mengontrol
perilaku untuk skrip, file statis,
direktori statis, dan setelan lainnya.
Elemen
Deskripsi
auth_fail_action
Opsional.
Menjelaskan tindakan yang diambil saat elemen login
ditentukan untuk pengendali dan saat pengguna tidak login. Memiliki dua
kemungkinan nilai:
redirect
Default. Pengguna dialihkan ke halaman login Google, atau
/_ah/login_required jika autentikasi OpenID digunakan.
Pengguna dialihkan kembali ke URL aplikasi setelah login
atau membuat akun.
unauthorized
Permintaan ditolak dengan kode status HTTP 401
dan pesan error.
Jika aplikasi memerlukan perilaku yang berbeda, aplikasi itu sendiri dapat
mengimplementasikan penanganan login pengguna. Lihat API
Pengguna untuk informasi selengkapnya.
Contoh berikut mengharuskan login untuk direktori /profile/
dan login administrator untuk direktori/admin/:
Anda dapat mengonfigurasi pengendali untuk menolak akses ke URL yang dilindungi saat
pengguna tidak login dan tidak mengalihkan pengguna ke
halaman login, dengan menambahkan auth_fail_action: unauthorized ke
konfigurasi pengendali.
expiration
Opsional.
Durasi file statis yang ditayangkan oleh pengendali ini harus
disimpan dalam cache oleh proxy web dan browser. Nilainya adalah string
angka dan satuan, yang dipisahkan dengan spasi, dengan satuan dapat berupa
d untuk hari, h untuk jam, m untuk
menit, dan s untuk detik. Misalnya,
"4d 5h" menetapkan masa berlaku cache menjadi 4 hari dan 5 jam setelah
file pertama kali diminta. Jika dihilangkan, default_expiration aplikasi akan digunakan. Lihat Masa berlaku
cache untuk detail selengkapnya.
http_headers
Opsional. Anda dapat menetapkan header
HTTP untuk respons file statis atau pengendali
direktori. Jika perlu menetapkan header HTTP
dalam pengendali script, Anda harus melakukannya di
kode aplikasi. Untuk mengetahui informasi tentang header respons mana yang memengaruhi penyimpanan dalam cache,
lihat Menyimpan data statis
dalam cache.
Salah satu penggunaan penting fitur ini adalah untuk mendukung Cross-Origin Resource Sharing (CORS), seperti mengakses file yang dihosting oleh
aplikasi App Engine lain.
Misalnya, Anda dapat memiliki aplikasi game mygame.uc.r.appspot.com
yang mengakses aset yang dihosting oleh myassets.uc.r.appspot.com.
Namun, jika mygame mencoba membuat JavaScript
XMLHttpRequest menjadi myassets, proses tersebut tidak akan
berhasil kecuali pengendali untuk myassets menampilkan
header respons Access-Control-Allow-Origin: yang berisi
nilai http://mygame.uc.r.appspot.com.
Berikut adalah cara membuat pengendali file statis menampilkan
nilai header respons yang diperlukan:
Catatan: jika ingin mengizinkan semua orang mengakses aset, Anda dapat
menggunakan karakter pengganti '*', bukan https://mygame.uc.r.appspot.com.
login
Opsional.
Menentukan apakah pengendali URL mengharuskan pengguna untuk
login.
Elemen ini memiliki tiga kemungkinan nilai:
optional
Default. Tidak mengharuskan pengguna untuk login.
required
Jika pengguna sudah login, pengendali akan melanjutkan proses secara normal. Jika belum,
tindakan yang diberikan di auth_fail_action
akan dilakukan.
admin
Seperti halnya required, menjalankan auth_fail_action
jika pengguna tidak login. Selain itu, jika pengguna bukan
administrator aplikasi, mereka akan diberikan pesan error,
terlepas dari setelan yang berlaku
auth_fail_action. Jika pengguna adalah administrator, pengendali akan melanjutkan.
Jika pengendali URL dengan setelan login selain
optional cocok dengan URL, pengendali akan memeriksa terlebih dahulu apakah
pengguna login ke aplikasi menggunakan
opsi autentikasinya Jika tidak, secara default, pengguna akan dialihkan
ke halaman login. Anda juga dapat menggunakan auth_fail_action untuk
mengonfigurasi aplikasi agar hanya menolak permintaan pengendali dari pengguna
yang tidak terautentikasi dengan benar, bukan mengalihkan pengguna ke
halaman login.
Catatan: pembatasan login admin juga terpenuhi untuk
permintaan internal yang mana App Engine menetapkan header khusus
X-Appengine yang sesuai. Misalnya,
tugas terjadwal cron memenuhi batasan admin
karena App Engine menetapkan header HTTP
X-Appengine-Cron: true pada masing-masing permintaan.
Namun, permintaan tersebut tidak akan memenuhi
pembatasan login required, karena tugas terjadwal cron
tidak dijalankan sebagai pengguna mana pun.
mime_type
Opsional. Jika ditentukan, semua file yang dilayani oleh pengendali ini akan
dilayani menggunakan jenis MIME yang ditetapkan. Jika tidak ditentukan, jenis MIME
untuk file akan diambil dari ekstensi nama file.
Jika file yang sama diupload dengan beberapa ekstensi, ekstensi yang dihasilkan
dapat bergantung pada urutan upload.
Opsional. redirect_http_response_code digunakan dengan
setelan secure untuk menetapkan kode respons HTTP yang ditampilkan
saat menjalankan pengalihan yang diperlukan oleh konfigurasi setelan
secure.
Elemen redirect_http_response_code memiliki kemungkinan nilai berikut:
Saat permintaan pengguna dialihkan, kode status HTTP akan ditetapkan
ke nilai parameter redirect_http_response_code. Jika parameter tidak ada, 302 akan ditampilkan.
script
Opsional.
Menentukan bahwa permintaan ke pengendali tertentu harus menargetkan
aplikasi Anda. Satu-satunya nilai yang diterima untuk elemen script
adalah auto karena semua traffic disajikan menggunakan
perintah titik entri. Untuk menggunakan pengendali statis, setidaknya salah satu
pengendali Anda harus berisi baris script: auto
atau tentukan elemen entrypoint agar berhasil di-deploy.
Opsional. Semua pengendali URL dapat menggunakan setelan secure,
termasuk pengendali skrip dan
pengendali file statis. Elemen secure memiliki kemungkinan
nilai berikut:
optional
Permintaan HTTP dan HTTPS dengan URL yang cocok dengan pengendali
berhasil tanpa pengalihan. Aplikasi dapat memeriksa permintaan
untuk menentukan protokol yang digunakan, dan memberikan respons yang sesuai. Ini
adalah setelan default saat secure tidak disediakan untuk
pengendali.
never
Permintaan untuk URL yang cocok dengan pengendali ini yang menggunakan HTTPS akan
otomatis dialihkan ke URL HTTP yang setara. Jika permintaan
HTTPS pengguna dialihkan menjadi permintaan HTTP,
parameter kueri akan dihapus dari permintaan tersebut. Hal ini mencegah
pengguna secara tidak sengaja mengirimkan data kueri melalui koneksi tidak
aman yang ditujukan untuk koneksi yang aman.
always
Permintaan untuk URL yang cocok dengan pengendali ini yang tidak menggunakan HTTPS akan
otomatis dialihkan ke URL HTTPS dengan jalur yang sama. Parameter
kueri dipertahankan untuk pengalihan.
Untuk
menargetkan versi tertentu dari aplikasi Anda menggunakan
domain REGION_ID.r.appspot.com,
ganti titik yang biasanya akan memisahkan
komponen subdomain URL dengan string "-dot-",
misalnya: https://VERSION_ID-dot-default-dot-PROJECT_ID.REGION_ID.r.appspot.com
Login dan logout Akun Google selalu dilakukan menggunakan
koneksi yang aman, yang tidak terkait dengan cara URL aplikasi
dikonfigurasi.
static_dir
Opsional. Jalur ke direktori yang berisi file statis, dari
direktori utama aplikasi. Semua elemen setelah akhir pola url
yang cocok akan ditambahkan ke
static_dir untuk membentuk jalur lengkap ke file yang diminta.
Setiap file dalam direktori statis disajikan menggunakan jenis MIME yang
sesuai dengan ekstensi nama filenya kecuali jika diganti oleh
setelan mime_type direktori. Semua file dalam
direktori yang ditentukan diupload sebagai file statis, dan
tidak ada yang dapat dijalankan sebagai skrip.
Contoh:
handlers:# All URLs beginning with /stylesheets are treated as paths to# static files in the stylesheets/ directory.-url:/stylesheetsstatic_dir:stylesheets# ...
static_files
Opsional. Pengendali pola file statis mengaitkan pola URL dengan
jalur ke file statis yang diupload dengan aplikasi. Ekspresi reguler
pola URL dapat menentukan pengelompokan ekspresi reguler yang akan digunakan
dalam konstruksi jalur file. Anda dapat menggunakan ini sebagai pengganti
static_dir untuk memetakan ke file tertentu dalam struktur
direktori tanpa perlu memetakan seluruh direktori.
Contoh:
handlers:# All URLs ending in .gif .png or .jpg are treated as paths to# static files in the static/ directory. The URL pattern is a# regular expression, with a grouping that is inserted into the# path to the file.-url:/(.*\.(gif|png|jpg))$static_files:static/\1upload:static/.*\.(gif|png|jpg)$# ...
File statis tidak boleh sama dengan file kode aplikasi.
upload
Opsional. Ekspresi reguler yang cocok dengan jalur file untuk semua
file yang akan direferensikan oleh pengendali ini. Hal ini diperlukan karena pengendali tidak dapat menentukan file mana yang ada dalam direktori aplikasi Anda yang sesuai dengan pola url dan static_files yang diberikan. File statis diupload dan
ditangani secara terpisah dari file aplikasi. Contoh
di atas mungkin menggunakan pola upload berikut:
archives/(.*)/items/(.*)
url
Elemen yang wajib di bawah handlers. Pola URL, sebagai
ekspresi reguler. Ekspresi dapat berisi pengelompokan yang dapat
dirujuk di jalur file ke skrip dengan referensi balik
ekspresi reguler. Misalnya,
/profile/(.*)/(.*) akan cocok dengan URL
/profile/edit/manager serta menggunakan
edit dan manager sebagai pengelompokan
pertama dan kedua.
Pola URL memiliki beberapa perbedaan perilaku saat digunakan dengan
elemen-elemen berikut:
Menggunakan awalan URL. Pola ekspresi reguler tidak boleh berisi
pengelompokan saat digunakan dengan elemen static_dir. Semua
URL yang dimulai dengan awalan ini ditangani oleh pengendali ini, menggunakan
bagian URL setelah awalan sebagai bagian dari jalur file.
Pengendali pola file statis mengaitkan pola URL dengan jalur ke
file statis yang diupload dengan aplikasi. Ekspresi reguler
pola URL dapat menentukan pengelompokan ekspresi reguler yang akan digunakan dalam
konstruksi jalur file. Anda dapat menggunakan ini daripada
static_dir untuk memetakan ke file tertentu dalam struktur
direktori tanpa perlu memetakan seluruh direktori.
Menskalakan elemen
Elemen-elemen dalam tabel berikut mengonfigurasi cara penskalaan aplikasi. Untuk mempelajari lebih lanjut cara aplikasi App Engine melakukan penskalaan, lihat Jenis penskalaan.
Elemen
Deskripsi
automatic_scaling
Opsional. Hanya berlaku untuk aplikasi yang menggunakan
class
instance F1 atau yang lebih tinggi.
Tentukan elemen ini untuk mengubah setelan default penskalaan otomatis,
seperti menetapkan tingkat minimum dan maksimum untuk jumlah instance,
latensi, dan koneksi serentak untuk suatu layanan.
Elemen ini dapat berisi elemen-elemen berikut:
max_instances
Opsional. Tetapkan nilai antara 0 dan 2147483647, dengan nol
akan menonaktifkan setelan
Parameter ini menentukan jumlah maksimum instance yang akan dibuat oleh App
Engine untuk versi modul ini. Hal ini berguna untuk membatasi
biaya modul.
min_instances
Opsional. Jumlah minimum instance yang akan dibuat oleh App Engine
untuk versi modul ini. Instance ini menyalurkan traffic saat
permintaan tiba, dan akan terus menyalurkan traffic bahkan ketika
instance tambahan dimulai sesuai kebutuhan untuk menangani traffic.
Tentukan nilai dari 0 hingga 1.000. Anda dapat menetapkan
parameter ke nilai 0 untuk memungkinkan penskalaan ke 0 instance guna
menurunkan biaya jika tidak ada permintaan yang ditayangkan. Perlu diperhatikan bahwa
Anda akan dikenai biaya untuk jumlah instance yang ditentukan,
terlepas dari apakah instance tersebut menerima traffic atau tidak.
max_idle_instances
Opsional. Jumlah maksimum instance tanpa aktivitas yang
harus dikelola App Engine untuk versi ini. Tentukan
nilai dari 1 hingga 1000. Jika tidak ditentukan, nilai defaultnya adalah automatic,
yang berarti App Engine akan mengelola
jumlah instance yang tidak ada aktivitas.
Perhatikan hal-hal berikut:
Batas maksimum yang tinggi mengurangi jumlah instance yang tanpa aktivitas secara lebih
bertahap saat tingkat beban kembali normal setelah terjadi lonjakan. Hal ini
membantu aplikasi Anda mempertahankan performa yang stabil
melalui fluktuasi beban permintaan, tetapi juga meningkatkan jumlah instance yang tanpa
aktivitas (dan akibatnya, peningkatan biaya pengoperasian) selama periode dengan beban berat tersebut.
Batas maksimum yang rendah membuat biaya tetap rendah, tetapi dapat
menurunkan performa saat tingkat beban yang berubah secara tiba-tiba.
Catatan: Saat kembali ke tingkat normal setelah lonjakan beban,
jumlah instance tanpa aktivitas untuk sementara dapat melebihi batas
maksimum yang Anda tentukan. Namun, Anda tidak akan ditagih untuk jumlah
instance yang melebihi jumlah maksimum yang Anda tentukan.
min_idle_instances
Opsional: Jumlah instance tambahan yang akan tetap berjalan
dan siap menyalurkan traffic untuk versi ini.
App Engine menghitung jumlah instance yang diperlukan untuk
menyalurkan traffic aplikasi Anda saat ini berdasarkan
setelan penskalaan seperti target_cpu_utilization dan
target_throughput_utilization. Menetapkan min_idle_instances
akan menentukan jumlah instance yang
akan dijalankan selain jumlah yang dihitung ini. Misalnya,
jika App Engine menghitung bahwa 5 instance
diperlukan untuk menyalurkan traffic, dan min_idle_instances
ditetapkan ke 2, App Engine akan menjalankan 7 instance
(5, dihitung berdasarkan traffic, plus 2 tambahan per min_idle_instances).
Perlu diperhatikan bahwa
Anda akan dikenai biaya untuk jumlah instance yang ditentukan,
terlepas dari apakah instance tersebut menerima traffic atau tidak. Perhatikan hal-hal berikut:
Nilai minimum yang rendah membantu menjaga biaya operasional Anda tetap
rendah selama periode tidak ada aktivitas, tetapi berarti jumlah instance
yang tersedia mungkin lebih sedikit untuk merespons lonjakan beban tiba-tiba.
Nilai minimum yang tinggi memungkinkan Anda mempersiapkan
aplikasi untuk lonjakan cepat dalam beban permintaan. App Engine mempertahankan jumlah minimum
instance yang berjalan untuk melayani permintaan masuk. Anda
akan dikenai biaya untuk jumlah instance yang ditentukan, terlepas dari
apakah instance tersebut menangani permintaan atau tidak.
Jika Anda menetapkan jumlah minimum instance saat tidak ada aktivitas, latensi
tertunda tidak akan terlalu berpengaruh pada performa aplikasi Anda.
target_cpu_utilization
Opsional. Tentukan nilai antara 0,5 dan 0,95. Defaultnya adalah
0.6.
Parameter ini menetapkan batas
penggunaan CPU saat instance baru akan dimulai untuk menangani traffic,
sehingga Anda dapat menyeimbangkan antara performa dan
biaya, yang mana nilai yang lebih rendah akan meningkatkan performa dan
menambah biaya, serta nilai yang lebih tinggi mengurangi performa tetapi
juga menurunkan biaya. Misalnya, nilai 0,7 artinya instance baru
akan dimulai setelah penggunaan CPU mencapai 70 persen.
target_throughput_utilization
Opsional. Tentukan nilai dari 0,5 hingga 0,95. Defaultnya adalah
0.6.
Digunakan dengan max_concurrent_requests untuk menentukan kapan
instance baru dimulai karena ada permintaan yang serentak. Jika jumlah
permintaan serentak mencapai nilai yang sama dengan
max_concurrent_requests kali
target_throughput_utilization, scheduler akan mencoba
memulai instance baru.
max_concurrent_requests
Opsional. Jumlah permintaan serentak yang dapat diterima penskalaan instance
otomatis sebelum scheduler memunculkan instance baru
(Default: 10,
Maksimum: 1000).
Digunakan dengan target_throughput_utilization untuk
menentukan kapan instance baru dimulai karena permintaan yang serentak.
Jika jumlah permintaan yang serentak mencapai nilai yang sama dengan
max_concurrent_requests yang dikali dengan
target_throughput_utilization, scheduler akan
mencoba memulai instance baru.
Sebaiknya Anda tidak menetapkan max_concurrent_requests
kurang dari 10 kecuali jika Anda memerlukan thread tunggal. Nilai
kurang dari 10 cenderung menghasilkan lebih banyak instance
yang dibuat daripada yang dibutuhkan untuk aplikasi threadsafe,
dan dapat menimbulkan biaya yang tidak perlu.
Jika setelan ini terlalu tinggi, Anda mungkin mengalami peningkatan latensi
API. Perhatikan bahwa scheduler mungkin memunculkan instance baru sebelum
jumlah maksimum permintaan yang sebenarnya tercapai.
max_pending_latency
Durasi maksimum App Engine harus mengizinkan permintaan untuk menunggu
dalam antrean yang tertunda sebelum memulai instance tambahan
untuk menangani permintaan agar latensi tertunda berkurang. Saat batas
ini tercapai, ini merupakan sinyal untuk meningkatkan skala, dan
menghasilkan peningkatan jumlah instance.
Jika tidak ditentukan, nilai defaultnya adalah automatic. Artinya, permintaan dapat tetap berada dalam antrean tertunda selama 10 detik, yaitu
batas waktu permintaan tertunda maksimum, sebelum pemulaian instance yang baru dipicu.
Nilai maksimum yang rendah berarti App Engine akan memulai instance baru
lebih cepat untuk permintaan yang tertunda, sehingga meningkatkan
performa tetapi menaikkan biaya operasional.
Nilai maksimum yang tinggi berarti pengguna mungkin menunggu lebih lama hingga
permintaan mereka ditayangkan (jika ada permintaan yang tertunda dan
tidak ada instance tanpa aktivitas untuk menayangkannya), tetapi
biaya untuk menjalankan aplikasi Anda akan lebih murah.
min_pending_latency
Elemen opsional yang dapat Anda tetapkan untuk menentukan jumlah
waktu minimum App Engine mengizinkan permintaan untuk menunggu
dalam antrean yang tertunda sebelum memulai instance baru untuk menanganinya.
Menentukan nilai ini dapat menurunkan biaya operasional, tetapi meningkatkan waktu
yang dibutuhkan pengguna untuk menunggu permintaan mereka dilayani.
Untuk aplikasi gratis, nilai defaultnya adalah 500ms. Untuk aplikasi
berbayar, nilai defaultnya adalah 0.
Elemen ini bekerja sama dengan elemen max_pending_latency
untuk menentukan kapan App Engine membuat instance baru.
Jika permintaan yang tertunda berada dalam antrean:
Kurang dari min_pending_latency yang Anda tetapkan,
App Engine tidak akan membuat instance baru.
Lebih dari max_pending_latency, App Engine
akan mencoba membuat instance baru.
Di antara waktu yang ditentukan oleh min_pending_latency
dan max_pending_latency, App Engine akan
mencoba menggunakan kembali instance yang ada. Jika tidak ada instance yang dapat
memproses permintaan sebelum max_pending_latency,
App Engine akan membuat instance baru.