Autoscaler terkelola

Halaman ini menjelaskan cara kerja autoscaler terkelola dan menjelaskan biaya serta batasan saat menggunakan autoscaler terkelola Spanner. Bagian ini juga memberikan informasi untuk membantu Anda menentukan cara mengonfigurasi penskalaan otomatis terkelola.

Cara kerja penskalaan otomatis terkelola

Saat Anda mengaktifkan autoscaler terkelola, Spanner akan otomatis menyesuaikan ukuran instance Anda. Anda dapat mengaktifkan penskala otomatis terkelola di instance atau partisi instance Spanner (dalam Pratinjau). Fitur penskalaan otomatis terkelola bereaksi terhadap perubahan pada workload atau kebutuhan penyimpanan instance Anda saat beban Anda meningkat atau menurun. Penskala otomatis terkelola akan menskalakan ke atas, menambahkan kapasitas komputasi ke instance, atau menskalakan ke bawah, menghapus kapasitas komputasi dari instance.

Saat mengonfigurasi autoscaler terkelola, Anda dapat menggunakan unit pemrosesan untuk instance kecil, atau node untuk instance besar. Dalam dokumen ini, kami menggunakan istilah kapasitas komputasi untuk merujuk ke node atau unit pemrosesan.

Penskala otomatis terkelola Spanner menentukan kapasitas komputasi yang diperlukan, berdasarkan hal berikut:

  • Target pemakaian CPU prioritas tinggi
  • Target total pemakaian CPU
  • Target penggunaan penyimpanan
  • Batas minimum
  • Batas maksimum

Setiap dimensi penskalaan menghasilkan ukuran instance yang direkomendasikan, dan Spanner secara otomatis menggunakan yang tertinggi. Artinya, misalnya, jika instance Anda memerlukan 10 node untuk memenuhi target penggunaan penyimpanan, tetapi 12 node untuk memenuhi target penggunaan CPU, Spanner akan menskalakan instance menjadi 12 node.

Seiring perubahan jumlah kapasitas komputasi, Spanner terus mengoptimalkan penyimpanan. Cloud Spanner menyeimbangkan kembali data di semua server untuk memastikan traffic didistribusikan secara merata dan tidak ada server yang kelebihan beban. Untuk mengetahui informasi selengkapnya, lihat Batasan.

Jika penskala otomatis terkelola menskalakan instance hingga batas maksimumnya, tetapi workload masih menyebabkan pemakaian CPU yang lebih tinggi daripada target, permintaan workload mungkin memiliki latensi yang lebih tinggi atau gagal. Jika instance di-scale up ke target kapasitas komputasi maksimumnya, tetapi workload memerlukan lebih banyak penyimpanan daripada batas penyimpanan maksimum, permintaan tulis dapat gagal. Untuk mengetahui apakah target maksimum telah tercapai, Anda dapat melihat log peristiwa sistem autoscaler terkelola di konsol Google Cloud di halaman Insight sistem. Untuk mengetahui informasi selengkapnya, lihat batas penyimpanan.

Saat menurunkan skala instance, Spanner akan menghapus kapasitas komputasi dengan laju yang lebih lambat daripada saat meningkatkan skala, untuk mengurangi dampak pada latensi.

Anda dapat memilih untuk menskalakan otomatis replika hanya baca secara asimetris di instance Anda. Anda tidak dapat melakukan penskalaan otomatis partisi instance secara asimetris. Untuk mengetahui informasi selengkapnya, lihat Penskalaan otomatis hanya baca asimetris.

Harga

Total biaya Spanner Anda mungkin lebih rendah atau lebih tinggi, bergantung pada cara Anda mengonfigurasi instance atau partisi instance Spanner sebelum mengaktifkan penskala otomatis terkelola dan batas yang Anda tetapkan untuk penskala otomatis terkelola.

Misalnya, jika Anda biasanya mengonfigurasi instance Spanner secara manual agar memiliki kapasitas komputasi yang cukup untuk menangani workload puncak kapan saja, biaya Anda dengan penskala otomatis terkelola mungkin lebih rendah karena mengurangi kapasitas komputasi saat instance tidak ada aktivitas.

Jika Anda dulu mengonfigurasi instance Spanner secara manual agar memiliki kapasitas komputasi yang cukup untuk workload rata-rata dan performa keseluruhan menurun saat traffic workload Anda meningkat, biaya Anda dengan penskalaan otomatis terkelola mungkin lebih tinggi karena penskalaan otomatis terkelola dapat meningkatkan kapasitas komputasi saat instance sibuk. Namun, hal ini memberikan performa yang lebih konsisten kepada pengguna Anda.

Anda dapat membatasi biaya maksimum instance Spanner dengan menetapkan batas unit pemrosesan atau node maksimum ke tingkat yang ingin Anda belanjakan.

Anda mungkin melihat peningkatan kapasitas komputasi yang digunakan dan oleh karena itu peningkatan biaya saat Anda menetapkan target penggunaan CPU total pada instance Spanner dibandingkan dengan hanya menetapkan target penggunaan CPU prioritas tinggi. Namun, pengguna akhir akan mendapatkan pengalaman yang jauh lebih baik dan peningkatan performa saat opsi ini disetel.

Batasan

Batasan berikut berlaku saat Anda mengaktifkan atau mengubah fitur penskalaan otomatis terkelola pada instance atau partisi instance:

  • Anda tidak dapat memindahkan instance saat fitur autoscaler terkelola diaktifkan. Anda harus menonaktifkan penskala otomatis terkelola terlebih dahulu, lalu memindahkan instance. Setelah memindahkan instance, Anda dapat mengaktifkan kembali penskalaan otomatis terkelola.
  • Anda harus menetapkan batas minimum pada instance penskalaan otomatis ke 1.000 unit pemrosesan atau lebih, atau 1 node atau lebih.
  • Saat Anda mengaktifkan penskalaan otomatis pada instance yang ada, kapasitas instance yang ada dapat lebih rendah daripada nilai batas minimum yang Anda konfigurasi di penskala otomatis terkelola. Namun, instance akan otomatis di-scale up ke nilai minimum yang dikonfigurasi saat Anda memulainya. Misalnya, jika instance Anda memiliki satu node, tetapi Anda menetapkan nilai minimum ke dua node, saat Anda memulai instance, instance tersebut akan otomatis di-scale up menjadi dua node.
  • Anda tidak dapat melakukan penskalaan otomatis partisi instance secara asimetris.
  • Jika jumlah baris penempatan di partisi Anda lebih dari 100 juta, jangan aktifkan penskalaan otomatis. Ini adalah batas partisi geografis.

Parameter autoscaler terkelola

Saat membuat atau mengedit instance atau partisi instance dan memilih untuk mengaktifkan penskala otomatis terkelola, Anda menentukan nilai yang ditampilkan dalam tabel berikut.

Parameter Deskripsi
Target pemakaian CPU prioritas tinggi Persentase kapasitas CPU instance yang akan digunakan untuk tugas berprioritas tinggi. Nilai ini harus dari 10% hingga 90%. Jika penggunaan CPU prioritas tinggi instance melebihi target yang telah Anda tetapkan, Spanner akan segera menambahkan kapasitas komputasi ke instance tersebut. Jika penggunaan CPU jauh lebih rendah daripada target, Spanner akan menghapus kapasitas komputasi. Untuk mengetahui informasi selengkapnya, lihat Menentukan target pemanfaatan CPU prioritas tinggi.
Target total pemakaian CPU Persentase total kapasitas CPU instance yang akan digunakan untuk tugas berprioritas tinggi, sedang, dan rendah. Nilai ini harus dari 10% hingga 90%. Saat total penggunaan CPU instance melebihi target yang telah Anda tetapkan, Spanner akan segera menambahkan kapasitas komputasi ke instance. Jika total penggunaan CPU jauh lebih rendah daripada target, Spanner akan menghapus kapasitas komputasi. Untuk mengetahui informasi selengkapnya, lihat Menentukan target total pemanfaatan CPU.
Target penggunaan penyimpanan Persentase penyimpanan di node yang dapat Anda gunakan sebelum Spanner melakukan penskalaan. Target ini memastikan bahwa Anda selalu memiliki kapasitas komputasi yang cukup untuk menangani fluktuasi jumlah data yang Anda simpan. Nilai ini harus antara 10-99%. Untuk mendapatkan panduan, lihat Menentukan target penggunaan penyimpanan.
Batas minimum Jumlah kapasitas komputasi terendah yang digunakan Spanner untuk memperkecil skala instance. Nilai minimum tidak boleh lebih rendah dari 10% nilai yang Anda tetapkan untuk batas maksimum. Misalnya, jika batas maksimum adalah 40 node, batas minimum harus minimal 4 node. Persyaratan 10% adalah batas yang ketat. Untuk mendapatkan panduan, lihat Menentukan batas minimum.
Batas maksimum Jumlah kapasitas komputasi tertinggi yang digunakan Spanner untuk meningkatkan skala instance. Untuk node, nilai ini harus lebih besar dari 1 node (atau 1.000 unit pemrosesan) dan sama dengan atau lebih besar dari jumlah minimum node atau unit pemrosesan. Nilai tidak boleh lebih dari 10 kali angka yang Anda pilih untuk jumlah minimum kapasitas komputasi. Persyaratan 10 kali ini adalah batas maksimum. Untuk mendapatkan panduan, lihat Menentukan batas maksimum.

Mengonfigurasi penskala otomatis terkelola

Bagian ini menjelaskan cara menentukan angka yang akan dipilih untuk parameter penskala otomatis terkelola. Setelah menetapkan nilai awal, pantau instance Anda dan sesuaikan angka jika perlu.

Menentukan target penggunaan CPU prioritas tinggi

Target optimal untuk instance atau partisi instance Anda bergantung pada persyaratan latensi dan throughput workload Anda. Untuk melihat rekomendasi kami terkait penggunaan CPU maksimum untuk konfigurasi instance regional, dual-region, dan multi-region, lihat Peringatan untuk pemakaian CPU tinggi.

Jika penggunaan CPU mendekati atau melebihi 100%, hal ini berpotensi menyebabkan penurunan performa. Jika workload Anda sensitif terhadap latensi atau performa, pertimbangkan untuk menyesuaikan target total CPU ke nilai yang lebih rendah. Perhatikan bahwa tindakan ini dapat menimbulkan biaya yang lebih tinggi.

Secara umum, jika Anda mengamati latensi yang sangat tinggi dan tidak dapat diterima, Anda harus menurunkan target penggunaan CPU.

Anda juga dapat mengonfigurasi target untuk total dan penggunaan CPU prioritas tinggi. Untuk mengetahui informasi selengkapnya, lihat Menentukan kedua target pemanfaatan CPU.

Menentukan target total pemakaian CPU

Saat Anda menetapkan target total penggunaan CPU, Spanner akan melakukan penskalaan otomatis untuk memastikan kapasitas yang memadai bagi tugas berprioritas tinggi, sedang, dan rendah.

Jika workload Anda sensitif terhadap latensi, atau jika Anda ingin tugas sistem selesai lebih cepat, Anda harus menyetel target CPU total untuk memastikan instance memiliki kapasitas yang cukup. Jika target total CPU ditetapkan, Anda mungkin membayar lebih banyak, tetapi aplikasi Anda memberikan pengalaman yang lebih baik bagi pelanggan.

Jika target CPU total ditetapkan dan Anda masih mengamati latensi yang sangat tinggi, Anda harus menurunkan target pemakaian CPU total.

Untuk mengoptimalkan throughput penulisan dan pembuatan indeks, sebaiknya targetkan total CPU sebesar 70% untuk instance regional dan 50% untuk instance multi-region. Hal ini juga berfungsi dengan baik selama failover, jika target prioritas tinggi tidak dipilih. Namun, target ini mungkin menimbulkan biaya yang lebih tinggi. Jika biaya menjadi pertimbangan, sebaiknya tetapkan target total CPU sebesar 85%. Hal ini memberikan overhead untuk menyerap lonjakan tanpa memicu latensi yang disebabkan oleh saturasi resource (penggunaan 100%).

Secara default, Spanner memprioritaskan traffic yang ditampilkan kepada pengguna dengan membatasi operasi latar belakang yang intensif resource (seperti pembuatan indeks). Anda dapat mempercepat operasi latar belakang ini dengan mengonfigurasi target penggunaan total CPU yang lebih rendah (misalnya, <=60%). Hal ini memberi sinyal kepada autoscaler untuk menyediakan resource komputasi tambahan, sehingga meningkatkan throughput tugas sistem. Namun, hal ini dapat meningkatkan biaya. Jika ingin meningkatkan throughput untuk sementara waktu guna membuat indeks, Anda dapat menetapkan target CPU total yang lebih rendah hingga pembuatan indeks selesai.

Anda juga dapat mengonfigurasi target untuk total dan penggunaan CPU prioritas tinggi. Untuk mengetahui informasi selengkapnya, lihat Menentukan kedua target pemanfaatan CPU.

Menentukan kedua target pemakaian CPU

Jika Anda mengonfigurasi target untuk total CPU dan penggunaan CPU prioritas tinggi, autoscaler akan mengevaluasi kedua metrik secara bersamaan. Kemudian, Ad Manager memilih jumlah node atau unit pemrosesan yang lebih tinggi dari dua rekomendasi tersebut. Hal ini memastikan bahwa instance ditingkatkan skalanya untuk memenuhi persyaratan yang lebih berat, mempertahankan performa untuk workload penting sambil menyelesaikan tugas latar belakang.

Jika target penggunaan CPU berprioritas tinggi dan total penggunaan CPU ditetapkan, penggunaan CPU untuk tugas berprioritas tinggi adalah bagian dari total tersebut, bersama dengan tugas berprioritas rendah dan sedang. Nilai target pemakaian CPU prioritas tinggi harus lebih kecil daripada target pemakaian CPU total jika kedua opsi dipilih.

Secara umum, jika Anda mengamati latensi yang sangat tinggi dan tidak dapat diterima, Anda harus menurunkan target penggunaan CPU.

Secara umum, kami merekomendasikan target pemanfaatan CPU berikut untuk failover yang andal:

Jenis instance Target total pemakaian CPU Target pemakaian CPU prioritas tinggi
Instance regional 70% 65%
Instance multi-region 50% 45%

Bergantung pada workload Anda, kami juga merekomendasikan target pemanfaatan CPU yang lebih spesifik berikut:

Jenis beban kerja Target CPU yang direkomendasikan Kompromi
Workload yang sensitif terhadap throughput dan banyak melakukan operasi tulis Target total pemakaian CPU: 70% Throughput yang lebih tinggi dengan mengorbankan latensi
Workload yang sensitif terhadap latensi dan banyak membaca Target total pemakaian CPU: 80%

Target pemakaian CPU prioritas tinggi: 65% (regional) atau 45% (multi-regional)
Latensi ekor yang dapat diprediksi dengan biaya yang lebih tinggi
Efisiensi biaya pemrioritasan beban kerja Target total pemakaian CPU: 85%

Target pemakaian CPU prioritas tinggi: 65% (regional) atau 45% (multi-regional)
Biaya dan performa yang wajar dengan pembuatan indeks yang berpotensi tertunda

Menentukan target pemanfaatan penyimpanan

Untuk penskalaan otomatis, target pemanfaatan penyimpanan dinyatakan sebagai persentase per node. Untuk instance atau partisi instance yang berukuran 1 node (1.000 unit pemrosesan) dan lebih besar, ukuran penyimpanan dibatasi hingga 10 TiB per node.

Menentukan batas maksimum

Nilai yang Anda pilih sebagai jumlah kapasitas komputasi maksimum sama dengan jumlah kapasitas komputasi yang dibutuhkan instance atau partisi instance untuk menangani traffic terberat, meskipun Anda tidak memperkirakan akan mencapai volume tersebut sebagian besar waktu. Spanner tidak pernah melakukan penskalaan ke kapasitas komputasi yang lebih besar daripada yang dibutuhkan. Anda juga dapat menganggap angka ini sebagai jumlah kapasitas komputasi tertinggi yang bersedia Anda bayar. Untuk mengetahui informasi selengkapnya tentang nilai yang diterima, lihat Parameter autoscaler.

Batas maksimum harus memungkinkan target pemakaian CPU dan target pemakaian penyimpanan yang Anda tetapkan untuk penskalaan otomatis.

  • Jika Anda mengubah instance dari alokasi manual ke penskalaan otomatis terkelola, temukan jumlah kapasitas komputasi tertinggi yang dimiliki instance selama satu atau dua bulan terakhir. Batas maksimum penskalaan otomatis terkelola Anda harus setidaknya setinggi itu.

  • Jika Anda mengaktifkan penskalaan otomatis terkelola untuk instance baru, lihat metrik dari instance lain dan gunakan sebagai panduan saat Anda menetapkan batas maksimum.

  • Jika Anda memiliki beban kerja baru dan tidak yakin bagaimana pertumbuhannya, Anda dapat memperkirakan jumlah kapasitas komputasi yang Anda butuhkan untuk memenuhi target penggunaan penyimpanan bawaan, lalu menyesuaikan jumlahnya nanti.

Anda juga perlu mengetahui sisa kuota di node karena penskala otomatis terkelola tidak dapat mengonfigurasi instance Anda agar memiliki kapasitas komputasi yang lebih besar daripada kuota Anda. Untuk mengetahui informasi selengkapnya, lihat Batas node.

Setelah instance Anda aktif dan berjalan dengan penskalaan otomatis diaktifkan, pantau instance dan pastikan nilai yang Anda pilih untuk batas maksimum setidaknya sama tingginya dengan batas yang direkomendasikan untuk target CPU dan batas yang direkomendasikan untuk target penyimpanan.

Menentukan batas minimum

Anda menetapkan batas minimum untuk penskalaan otomatis terkelola guna memastikan bahwa instance atau partisi instance Spanner Anda dapat diturunkan skalanya ke ukuran terkecil dan paling hemat biaya. Spanner secara otomatis mencegah jumlah node turun di bawah minimum yang diperlukan untuk mempertahankan target penggunaan CPU dan penyimpanan.

Nilai minimum terkecil yang diizinkan oleh penskala otomatis terkelola adalah 1 node atau 1.000 unit pemrosesan. Saat Anda mengaktifkan penskalaan otomatis untuk instance yang ada yang memiliki kapasitas lebih kecil dari nilai minimum yang dikonfigurasi untuk autoscaler terkelola, instance akan otomatis di-scale up ke nilai minimum ini saat Anda memulainya.

Setelah memulai instance yang memiliki penskalaan otomatis terkelola, Anda harus melakukan pengujian awal untuk memastikan instance berfungsi pada ukuran yang ditetapkan minimum. Anda harus menguji lagi secara berkala untuk memastikan fungsi tersebut terus berfungsi seperti yang diharapkan.

Untuk mengetahui informasi selengkapnya tentang nilai yang diterima, lihat Parameter penskalaan otomatis terkelola.

Dalam banyak kasus, Anda ingin menetapkan nilai minimum ke lebih dari satu. Pilih angka yang lebih tinggi atau naikkan batas minimum untuk situasi berikut:

  • Anda memiliki acara lonjakan penggunaan mendatang saat Anda memperkirakan traffic akan meningkat untuk sementara, dan Anda ingin memastikan Anda memiliki kapasitas komputasi yang cukup.
  • Aplikasi Anda mengirimkan lonjakan traffic. Saat Anda menambahkan kapasitas komputasi baru, Spanner akan otomatis menyeimbangkan ulang untuk menggunakan node atau unit pemrosesan baru. Karena proses ini dapat memerlukan waktu beberapa menit, Anda mungkin ingin mempertimbangkan untuk mengambil pendekatan konservatif dan memilih minimum yang lebih tinggi. Dengan begitu, instance Anda dapat mengakomodasi lonjakan dengan lancar.
  • Anda meningkatkan kapasitas komputasi maksimum. Nilai minimum harus selalu sepuluh persen atau lebih dari target kapasitas komputasi maksimum. Misalnya, jika Anda menetapkan jumlah maksimum node ke 30, Anda harus menetapkan jumlah minimum node ke setidaknya 3.

Jika Anda meningkatkan nilai untuk kapasitas komputasi minimum pada instance, Spanner akan segera mencoba menskalakan instance ke minimum baru. Batasan standar berlaku. Jika kuota Anda habis, permintaan Anda untuk mengubah konfigurasi penskala otomatis terkelola akan gagal dan konfigurasi tidak akan diperbarui.

Setelah Anda mengonfigurasi autoscaler terkelola untuk pertama kalinya, dan secara berkala setelahnya, uji instance Anda untuk memastikan instance berfungsi pada ukuran minimum.

Flag parameter dan batasan Google Cloud CLI

Saat Anda menggunakan Google Cloud CLI untuk mengonfigurasi autoscaler terkelola, ada beberapa flag wajib yang harus Anda tetapkan. Ada tanda opsional yang Anda gunakan untuk menunjukkan apakah Anda ingin menggunakan node atau unit pemrosesan. Untuk mengetahui informasi selengkapnya tentang cara membuat instance atau partisi instance baru dengan autoscaler terkelola, atau mengaktifkan autoscaler terkelola pada instance atau partisi instance yang ada, lihat panduan cara kerja berikut:

Flag berikut diperlukan saat mengaktifkan penskalaan otomatis terkelola di instance Anda:

  • autoscaling-high-priority-cpu-percent
  • autoscaling-total-cpu-percent
  • autoscaling-storage-percent

Saat menyetel persentase CPU, Anda dapat memilih salah satu atau kedua opsi.

Jika memilih untuk menggunakan node, Anda juga harus menggunakan kedua flag berikut saat mengaktifkan autoscaler terkelola:

  • autoscaling-min-nodes
  • autoscaling-max-nodes

Jika memilih untuk menggunakan unit pemrosesan, Anda juga harus menggunakan kedua tanda berikut saat mengaktifkan penskalaan otomatis terkelola:

  • autoscaling-min-processing-units
  • autoscaling-max-processing-units

Batasan berikut berlaku saat menambahkan penskala otomatis terkelola ke instance yang ada menggunakan Google Cloud CLI:

  • Anda tidak dapat menggunakan flag --nodes dengan flag --autoscaling-min-nodes atau --autoscaling-max-nodes karena penggunaan --nodes menetapkan jumlah node tertentu, bukan rentang penskalaan. Demikian pula, Anda tidak dapat menggunakan flag --processing-units dengan flag autoscaling-min-processing-units atau autoscaling-max-processing-units karena penggunaan --processing-units menetapkan jumlah unit pemrosesan tertentu, bukan rentang penskalaan.
  • Anda tidak dapat menggabungkan tanda untuk node dan unit pemrosesan. Misalnya, Anda tidak dapat menggunakan --autoscaling-max-nodes dengan autoscaling-min-processing-units.

Menyesuaikan setelan Anda

Pantau penggunaan kapasitas komputasi Anda dan sesuaikan setelan Anda, jika perlu, terutama setelah Anda mengaktifkan autoscaler terkelola untuk pertama kalinya. Sebaiknya gunakan halaman Insight sistem di konsol Google Cloud .

Penskalaan otomatis hanya baca asimetris

Setelah mengaktifkan penskalaan otomatis terkelola, Anda juga dapat mengaktifkan dan menskalakan otomatis replika hanya baca secara terpisah dari replika lainnya. Penskalaan otomatis baca saja asimetris memungkinkan Anda mengontrol batas kapasitas komputasi dan target pemakaian CPU di region baca saja berdasarkan penggunaannya. Hal ini mengoptimalkan pola traffic baca lokal dan meningkatkan efisiensi biaya. Parameter konfigurasi penskalaan otomatis berikut dapat dikonfigurasi untuk setiap region replika hanya baca:

  • Batas kapasitas komputasi minimum
  • Batas kapasitas komputasi maksimum
  • Target pemakaian CPU prioritas tinggi
  • Target total pemakaian CPU
  • Menonaktifkan total CPU
  • Menonaktifkan CPU dengan prioritas tinggi

Anda dapat mengaktifkan penskalaan otomatis asimetris dan mengonfigurasi parameter ini dengan membuat instance baru atau dengan memperbarui instance yang ada.

Untuk setiap replika, aturan berikut berlaku saat Anda mengaktifkan penskalaan otomatis asimetris pada instance yang ada:

  • Jika kapasitas komputasi replika saat ini berada di antara minimum dan maksimum penskalaan otomatis yang ditetapkan untuk region, maka kapasitas komputasi replika tidak akan berubah.
  • Jika kapasitas komputasi saat ini dari replika berada di bawah minimum penskalaan otomatis yang ditetapkan untuk region, kapasitas komputasi akan disesuaikan agar sesuai dengan minimum penskalaan otomatis.
  • Jika kapasitas komputasi replika saat ini berada di atas maksimum penskalaan otomatis yang ditetapkan untuk region, kapasitas komputasi akan disesuaikan agar sesuai dengan maksimum penskalaan otomatis.
  • Jika kedua target CPU ditetapkan di tingkat dasar dan Anda ingin menonaktifkan target CPU di tingkat replika, Anda harus menggunakan disable_total_cpu_autoscaling atau disable_high_priority_cpu_autoscaling secara eksplisit.

Selain itu, saat menggunakan autoscaler asimetris, sebaiknya tetapkan kumpulan target yang sama di semua replika untuk memastikan perilaku penskalaan otomatis yang konsisten selama peristiwa failover. Untuk mengetahui informasi selengkapnya, lihat Masalah failover.

Masalah failover

Untuk mempertahankan ketersediaan dan performa tinggi selama pemadaman, Anda harus memastikan instance Anda memiliki kapasitas komputasi yang memadai untuk menangani traffic jika zona (untuk instance regional) atau seluruh region (untuk instance dual-region dan multi-region) menjadi tidak tersedia.

Saat menggunakan autoscaler asimetris, Anda harus menerapkan target pemakaian yang sama di semua replika. Konfigurasi yang tidak konsisten dapat menyebabkan hambatan kapasitas selama failover.

Pertimbangkan skenario berikut:

  • Replika A dikonfigurasi dengan target CPU total dan berprioritas tinggi.
  • Replika B dikonfigurasi hanya dengan target CPU prioritas tinggi.

Jika failover mengalihkan traffic dari Replika A ke Replika B, Replika B hanya diskalakan berdasarkan permintaan prioritas tinggi. Akibatnya, tugas dengan prioritas sedang dan rendah (seperti proses sistem latar belakang atau kueri analitik) tidak memicu penskalaan otomatis yang diperlukan pada Replika B, yang berpotensi menyebabkan kelaparan tugas atau peningkatan latensi untuk beban kerja yang tidak penting.

Untuk mencegah masalah, sebaiknya lakukan hal berikut:

  • Selalu tentukan target autoscaler yang identik di semua replika untuk memastikan perilaku penskalaan otomatis yang konsisten. Misalnya, pertimbangkan skenario saat Anda mengonfigurasi replika hanya baca dengan target CPU prioritas tinggi dan target CPU total. Jika replika baca-tulis hanya menetapkan target CPU prioritas tinggi, maka selama failover, traffic prioritas sedang dan rendah tidak akan memicu penskalaan otomatis pada replika baca-tulis.
  • Pastikan pemanfaatan target Anda memiliki kapasitas untuk burst traffic yang terjadi saat satu replika harus tiba-tiba menyerap beban peer yang gagal.
  • Tinjau metrik Cloud Monitoring Anda secara berkala untuk memverifikasi bahwa replika sekunder memiliki kapasitas yang diperlukan untuk mendukung gabungan traffic deployment utama Anda.

Kontrol akses

Untuk mengonfigurasi penskala otomatis terkelola, Anda harus menjadi principal dalam peran yang memiliki izin pembuatan dan pembaruan untuk instance atau partisi instance yang Anda konfigurasi.

Pemantauan

Spanner menyediakan beberapa metrik untuk membantu Anda memahami seberapa baik penskalaan otomatis terkelola berfungsi saat melakukan penskalaan naik dan turun untuk memenuhi persyaratan beban kerja. Metrik ini juga dapat membantu Anda mengukur apakah setelan Anda sudah optimal untuk memenuhi persyaratan biaya dan beban kerja bisnis Anda. Misalnya, jika Anda mengamati bahwa jumlah node untuk instance atau partisi instance sering kali mendekati jumlah maksimum node, Anda dapat mempertimbangkan untuk menaikkan jumlah maksimum. Untuk mempelajari lebih lanjut cara memantau resource Spanner, lihat Memantau instance dengan Cloud Monitoring.

Metrik berikut ditampilkan dalam grafik di halaman Insight sistem di konsol Google Cloud . Anda juga dapat melihat metrik ini menggunakan Cloud Monitoring.

  • spanner.googleapis.com/instance/autoscaling/min_node_count
  • spanner.googleapis.com/instance/autoscaling/max_node_count
  • spanner.googleapis.com/instance/autoscaling/min_processing_units
  • spanner.googleapis.com/instance/autoscaling/max_processing_units
  • spanner.googleapis.com/instance/autoscaling/high_priority_cpu_target_utilization
  • spanner.googleapis.com/instance/autoscaling/total_cpu_target_utilization
  • spanner.googleapis.com/instance/autoscaling/storage_target_utilization

Logging

Spanner membuat log audit peristiwa sistem setiap kali menskalakan instance atau partisi instance. Setiap log peristiwa memiliki teks deskripsi dan metadata yang terkait dengan peristiwa penskalaan otomatis.

Melihat log di halaman Insight sistem

Anda dapat melihat log peristiwa sistem autoscaler terkelola di konsolGoogle Cloud pada halaman Insight sistem.

  1. Di Konsol Google Cloud , buka Spanner:

    Buka Spanner

  2. Pilih instance atau partisi instance yang mendukung penskalaan otomatis.

  3. Di menu navigasi, klik System insights.

  4. Di halaman Insight sistem, buka metrik Kapasitas komputasi.

  5. Klik Lihat log untuk membuka panel log.

    Panel Log kapasitas komputasi menampilkan log untuk satu jam terakhir.

    Jika penskalaan otomatis hanya baca asimetris diaktifkan untuk instance Anda, ringkasan log akan memberikan deskripsi dan lokasi setiap perubahan kapasitas komputasi replika. Misalnya, Increased from 1 to 2 nodes in us-central1 to maintain high priority CPU utilization at 80%. Jika Anda tidak menggunakan penskalaan otomatis asimetris, informasi lokasi tidak diberikan dalam ringkasan log. Contoh, Increased from 9 to 10 nodes to maintain high priority CPU utilization at 65%. Anda juga dapat melihat kapan node ditingkatkan untuk mempertahankan target penggunaan CPU total.

Melihat log menggunakan Logs Explorer

Anda juga dapat melihat log menggunakan Logs Explorer:

  1. Di konsol Google Cloud , buka Logs Explorer:

    Buka Logs Explorer

  2. Pilih project Google Cloud yang sesuai.

  3. Di kolom Query, masukkan kode berikut:

     protoPayload.methodName="AutoscaleInstance"
    

    Anda dapat menambahkan kueri berikut untuk memfilter log lebih lanjut:

    resource.type="spanner_instance"
    resource.labels.instance_id=INSTANCE_ID
    resource.labels.project_id=PROJECT_ID
    logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="AutoscaleInstance"

    Untuk melihat log kueri yang dijalankan di partisi instance non-default, masukkan:

    resource.type="spanner_instance"
    resource.labels.instance_id=INSTANCE_ID
    resource.labels.project_id=PROJECT_ID
    logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="AutoscaleInstancePartition"
  4. Klik Run query.

Panel Query results menampilkan log untuk satu jam terakhir.

Untuk mempelajari lebih lanjut cara melihat log, lihat Cloud Logging. Anda dapat menyiapkan pemberitahuan berbasis log di halaman Logs explorer di Google Cloud atau menggunakan Cloud Monitoring API.

Langkah berikutnya