Kuota dan batas

AlloyDB untuk PostgreSQL menggunakan kuota dan batas sistem untuk mempertahankan alokasi resource yang adil, mencegah kelebihan beban layanan, dan membantu Anda mengelola penggunaan resource.

Kuota dan batas sistem serupa, tetapi berbeda dalam hal berikut:

  • Kuota memiliki nilai default, tetapi biasanya Anda dapat meminta penyesuaian.
  • Batas sistem adalah nilai tetap yang tidak dapat diubah.

Kuota

Google Cloud menggunakan kuota untuk membantu menjaga keadilan dan mengurangi lonjakan penggunaan dan ketersediaan resource. Kuota membatasi jumlah Google Cloud resource yang dapat digunakan Google Cloud project Anda. Kuota berlaku untuk berbagai jenis resource, termasuk komponen hardware, software, dan jaringan. Misalnya, kuota dapat membatasi jumlah panggilan API ke suatu layanan, jumlah load balancer yang digunakan secara bersamaan oleh project Anda, atau jumlah project yang dapat Anda buat. Kuota melindungi komunitas penggunaGoogle Cloud dengan mencegah kelebihan beban layanan. Kuota juga membantu Anda mengelola resource Google Cloud sendiri.

Sistem Kuota Cloud melakukan hal berikut:

Dalam sebagian besar kasus, saat Anda mencoba menggunakan resource melebihi kuota yang diizinkan, sistem akan memblokir akses ke resource tersebut, dan tugas yang Anda coba lakukan akan gagal.

Kuota umumnya berlaku di level Google Cloud project. Penggunaan resource dalam satu project tidak memengaruhi kuota yang tersedia dalam project lain. Dalam project Google Cloud , kuota dibagikan ke semua aplikasi dan alamat IP.

Untuk mengetahui informasi selengkapnya, lihat Ringkasan Kuota Cloud.

Tidak semua project memiliki kuota yang sama. Jika penggunaan Google Cloud Anda meningkat, kuota Anda mungkin meningkat.

Untuk mengetahui informasi selengkapnya tentang kuota, lihat dokumentasi Cloud Quotas.

Untuk mengetahui informasi spesifik terkait kuota yang diberlakukan oleh AlloyDB, lihat Kuota kapasitas dan Kuota resource.

Ada juga batasan untuk resource AlloyDB. Tidak seperti kuota, batas sistem tidak dapat diubah.

Izin untuk memeriksa dan mengedit kuota

Untuk melihat kuota, Anda harus memiliki izin serviceusage.quotas.get.

Untuk mengubah kuota, Anda harus memiliki izin serviceusage.quotas.update.

Izin ini disertakan secara default dalam peran IAM dasar Pemilik dan Editor serta dalam peran Administrator Kuota bawaan.

Memeriksa kuota Anda

Secara default, tabel kuota di konsol Google Cloud mencantumkan kuota untuk semua layanan. Anda dapat memeriksa kuota saat ini untuk resource AlloyDB dalam project Anda menggunakan daftar Filter dalam tabel.

Untuk memeriksa kuota saat ini untuk resource AlloyDB di project Anda, selesaikan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Quotas.

    Buka Quotas

  2. Di tabel kuota, klik Filter.

  3. Pilih Service dari daftar Properties, lalu pilih AlloyDB API dari daftar Values.

Menambah kuota Anda

Seiring meningkatnya penggunaan Google Cloud Anda dari waktu ke waktu, kuota Anda juga dapat meningkat. Jika Anda memperkirakan penggunaan akan meningkat signifikan, sebaiknya Anda membuat permintaan beberapa hari sebelumnya untuk memastikan ukuran kuota mencukupi.

  1. Di halaman Quotas, klik Filter.
  2. Pilih Service dari daftar Properties, lalu pilih AlloyDB API dari daftar Values.

    Jika Anda tidak melihat AlloyDB API, berarti AlloyDB Admin API tidak diaktifkan.

  3. Pilih kuota yang ingin diubah.

  4. Klik Edit kuota.

  5. Masukkan nama, email, dan nomor telepon Anda, lalu klik Berikutnya.

  6. Masukkan permintaan kuota Anda, lalu klik Submit request.

Kuota kapasitas

AlloyDB mendukung kuota kapasitas, yang juga dikenal sebagai batas kapasitas atau kuota API. Kuota kapasitas menentukan jumlah permintaan yang dapat Anda buat ke AlloyDB API.

Setiap kuota kapasitas sesuai dengan semua permintaan untuk grup yang terdiri dari satu atau beberapa metode AlloyDB API. Kuota kapasitas direset setelah interval waktu yang dikhususkan untuk layanan—misalnya, jumlah permintaan API per hari.

Saat menggunakan Google Cloud CLI atau konsol Google Cloud , Anda membuat permintaan ke API dan permintaan ini diperhitungkan dalam batas kapasitas Anda. Jika Anda menggunakan akun layanan untuk mengakses API, permintaan tersebut juga akan mengurangi batas kapasitas Anda.

Kuota kapasitas diterapkan dan diisi ulang secara otomatis selama interval 60 detik (1 menit). Artinya, jika project Anda mencapai batas maksimum kuota kapasitas kapan saja dalam waktu 60 detik, Anda harus menunggu hingga kuota tersebut diisi ulang sebelum membuat lebih banyak permintaan dalam grup tersebut. Jika project Anda melebihi batas kapasitas, Anda akan menerima kode status HTTP 429 dengan alasan rateLimitExceeded.

API AlloyDB dibagi menjadi enam grup berdasarkan jenis operasi. Kuota kapasitas diberlakukan per menit, per grup API, per project, per region, dan per pengguna. Untuk setiap kombinasi unik dari atribut ini, AlloyDB menerapkan kuota terpisah. Misalnya, jika 100 pengguna mengakses Mutate API dalam satu menit untuk project dan region tertentu, setiap pengguna akan diberi kuota default dalam rentang 180—250 permintaan per menit untuk setiap kombinasi project dan region.

Rentang kuota default untuk setiap grup adalah sebagai berikut:

Nama grup Deskripsi Rentang kuota default dalam kueri per menit Metode API
Menghubungkan API Membangun koneksi baru. 180-2000
  • projects.locations.clusters.generateClientCertificate
  • projects.locations.clusters.instances.getConnectionInfo
Mendapatkan API Membaca satu resource. 180-1000
  • projects.locations.clusters.get
  • projects.locations.clusters.instances.get
  • projects.locations.backups.get
  • projects.locations.get
Get operation API Mengambil status terbaru dari operasi yang berjalan lama. 950-2000
  • projects.locations.operations.get
API Daftar Membaca sekelompok resource dengan jenis yang sama. 180-1000
  • projects.locations.clusters.list
  • projects.locations.clusters.instances.list
  • projects.locations.backups.list
  • projects.locations.supportedDatabaseFlags.list
  • projects.locations.list
API List operations Mencantumkan operasi yang cocok dengan filter tertentu dalam permintaan. 2200-3000
  • projects.locations.operations.list
API Mutasi Mengubah status resource. 180-250
  • projects.locations.clusters.create
  • projects.locations.clusters.patch
  • projects.locations.clusters.delete
  • projects.locations.clusters.restore
  • projects.locations.clusters.instances.create
  • projects.locations.clusters.instances.patch
  • projects.locations.clusters.instances.delete
  • projects.locations.clusters.instances.failover
  • projects.locations.clusters.instances.restart
  • projects.locations.backups.create
  • projects.locations.backups.patch
  • projects.locations.backups.delete
  • projects.locations.operations.delete
  • projects.locations.operations.cancel

Kuota resource

AlloyDB mendukung kuota resource, yang juga dikenal sebagai kuota alokasi. Kuota resource adalah jumlah maksimum resource yang dapat Anda buat untuk jenis resource jika resource tersebut tersedia. Kuota resource membatasi penggunaan resource yang tidak memiliki tingkat penggunaan, seperti jumlah instance virtual machine (VM) yang digunakan oleh project Anda pada waktu tertentu.

Kuota resource tidak direset dari waktu ke waktu. Sebagai gantinya, Anda harus mengambil tindakan untuk merilis resource yang tidak digunakan, seperti menghapus cluster yang tidak diperlukan.

Kuota resource dikenakan pada jumlah cluster dan vCPU yang digunakan, seperti yang dijelaskan di bagian berikut.

Kuota resource di cluster

Kuota ini berlaku untuk jumlah cluster per project per region. Nilai default untuk kuota ini berkisar antara 3 hingga 10 cluster per project per region, bergantung pada histori penggunaan project. Nilai maksimum yang didukung untuk kuota ini adalah 20 cluster per project per region.

Jika Anda membuat permintaan pembuatan atau pemulihan cluster menggunakan konsol Google Cloud , gcloud CLI, atau AlloyDB API, dan jika hal itu menyebabkan pelanggaran kuota, permintaan akan gagal dengan pesan error yang mirip dengan berikut ini:

Quota limit 'ClustersUsedPerProjectPerRegion' has been exceeded. Limit: 5 in region us-central1.

Kuota resource pada vCPU

Kuota ini berlaku untuk jumlah vCPU per project per region. Setiap instance menggunakan sejumlah kuota ini, bergantung pada jumlah VM yang digunakan. Setiap instance utama menggunakan dua VM. Setiap instance kumpulan baca menggunakan satu VM untuk setiap node yang dimuatnya. Jumlah vCPU yang digunakan oleh setiap VM disediakan oleh Anda saat membuat atau mengupdate instance.

Nilai default kuota untuk semua project pelanggan adalah 10.000 vCPU.

Jika Anda membuat permintaan pembuatan atau pembaruan instance menggunakan konsol Google Cloud , gcloud CLI, atau AlloyDB API, dan jika hal tersebut mengakibatkan pelanggaran kuota, permintaan akan gagal dengan pesan error yang mirip dengan berikut ini:

Quota limit 'VCPUsUsedPerProjectPerRegion' has been exceeded. Limit: 128 in region us-central1.

Kuota resource pada penyimpanan

Kuota ini berlaku untuk jumlah data yang dapat disimpan di setiap cluster. Nilai default untuk kuota ini adalah 16 TiB per cluster. Nilai maksimum yang didukung adalah 128 TiB per cluster.

Jika Anda membuat permintaan penulisan database, seperti pernyataan INSERT yang mengakibatkan pelanggaran kuota, permintaan tersebut akan gagal dengan pesan error berikut:

AlloyDB instance exceeds available storage quota.

Ketersediaan resource

Kuota resource tidak menjamin bahwa resource hardware fisik tersedia di region atau zona setiap saat. Jika seri atau bentuk mesin tertentu tidak tersedia untuk sementara di lokasi target, operasi untuk membuat, memulai, atau menskalakan cluster atau instance dapat gagal meskipun project Anda masih memiliki kuota. Selain itu, karena AlloyDB mengelola VM Compute Engine yang mendasarinya dalam project tenant yang dikelola Google, pemesanan Compute Engine tidak berlaku untuk resource AlloyDB.

Untuk mengurangi batasan resource sementara, Anda dapat mencoba kembali operasi setelah penundaan, memilih seri mesin atau ukuran vCPU yang berbeda, atau men-deploy di region lain. Untuk panduan mendetail, lihat Praktik terbaik untuk perencanaan kapasitas dan ketersediaan resource dan Praktik terbaik untuk penskalaan dan ketersediaan resource.

Batas

Item Batas
Node kumpulan baca per cluster (di semua instance kumpulan baca) 20
Koneksi serentak maksimum per instance

Batas default bervariasi menurut ukuran instance; dapat disesuaikan hingga batas maksimum yang didukung oleh ukuran tersebut

Sambungan serentak maksimum

Secara default, AlloyDB menetapkan jumlah maksimum koneksi serentak untuk instance berdasarkan ukurannya. Untuk mengubah batas ini, tetapkan flag max_connections.

Gunakan tabel berikut untuk memilih nilai max_connections berdasarkan ukuran instance Anda:

VCPU Memori (GB) Nilai max_connections default Nilai max_connections maksimum yang direkomendasikan
1 8 100 200
2 16 100 570
4 32 200 980
8 64 400 2300
14 112 700 4000
16 128 800 4600
22 176 1000 6300
32 256 1000 9175
44 352 1000 12600
48 384 1000 13760
64 512 1000 18350
72 576 1000 20640
88 704 1000 25230
96 768 1000 27525
128 864 1000 30960
144 1152 1000 41290

Perhatikan pertimbangan berikut sebelum menetapkan nilai:

  • Saat Anda menetapkan flag max_connections pada instance pool baca, nilai baru harus cocok atau melebihi nilai max_connections instance utama clusternya.
  • Sebelum memperkecil ukuran instance yang ada, perbarui nilai flag max_connections sebagaimana mestinya. Jika tidak, Anda mungkin akan mengalami masalah.
  • Sebaiknya jalankan maksimum empat kueri serentak per vCPU instance.
  • Untuk workload yang melibatkan koneksi jangka pendek, pertimbangkan untuk menggunakan pooler koneksi seperti pgbouncer atau pgpool-II.
  • Sebaiknya tambahkan penggabung koneksi sisi aplikasi seperti HikariCP atau c3p0.
  • Jika Anda memutuskan untuk menetapkan nilai ke nilai yang lebih tinggi dari rekomendasi (hingga 240.000), pertimbangkan konsumsi memori tambahan untuk setiap koneksi aktif yang akan mengurangi memori untuk buffer bersama.

    Konsumsi memori ini dapat dihitung dengan mengalikan jumlah kueri serentak dengan nilai yang ditetapkan untuk flag work_mem. Nilai default untuk flag ini adalah 4MB atau jumlah vCPU dalam instance, mana saja yang lebih tinggi.

Batas kueri tersimpan

Nilai Batas
Jumlah maksimum kueri tersimpan per project (termasuk kueri tersimpan untuk produk Google Cloud lainnya) 10.000
Ukuran maksimum untuk setiap kueri 1 MiB