Penskala otomatis terkelola

Halaman ini menjelaskan cara kerja penskala otomatis terkelola serta menjelaskan biaya dan batasan saat menggunakan penghitung skala otomatis terkelola. Halaman ini juga memberikan informasi untuk membantu Anda menentukan cara mengonfigurasi penskala otomatis terkelola.

Cara kerja penskala otomatis yang dikelola

Saat Anda mengaktifkan penskala otomatis terkelola, Spanner akan otomatis menyesuaikan ukuran instance untuk Anda. Fitur penskalaan otomatis yang terkelola bereaksi terhadap perubahan dalam beban kerja atau kebutuhan penyimpanan instance saat beban Anda meningkat atau menurun. Penskalaan otomatis terkelola dapat meningkatkan skala, menambahkan kapasitas komputasi ke instance, atau menurunkan skala, sehingga menghapus kapasitas komputasi dari instance.

Saat mengonfigurasi penskalaan otomatis terkelola, Anda dapat menggunakan unit pemrosesan untuk instance kecil, atau node untuk instance besar. Dalam dokumen ini, kami menggunakan istilah kapasitas komputasi sebagai node atau unit pemrosesan.

Autoscaler terkelola Spanner menentukan jumlah kapasitas komputasi yang diperlukan, berdasarkan hal berikut:

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

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

Seiring dengan perubahan kapasitas komputasi, Spanner akan terus mengoptimalkan penyimpanan, dan menyeimbangkan kembali data di semua server untuk memastikan traffic tersebar secara merata dan tidak ada server individual yang kelebihan beban. Lihat Batasan untuk informasi selengkapnya.

Jika penskalaan otomatis terkelola menskalakan instance hingga batas maksimumnya tetapi beban kerja masih menyebabkan penggunaan CPU yang lebih tinggi daripada target, permintaan beban kerja mungkin memiliki latensi yang lebih tinggi atau gagal. Jika instance meningkatkan skala hingga target kapasitas komputasi maksimumnya tetapi beban kerja membutuhkan penyimpanan lebih besar daripada batas penyimpanan maksimum, permintaan tulis dapat gagal. Untuk mengetahui apakah target maksimum tercapai, Anda dapat melihat log peristiwa sistem penskalaan otomatis 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 kecepatan yang lebih lambat daripada saat meningkatkan skala, untuk mengurangi dampak pada latensi.

Biaya

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

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

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

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

Batasan

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

  • Anda tidak dapat mengaktifkan penskala otomatis yang dikelola pada instance yang Anda pindahkan.
  • Anda tidak dapat memindahkan instance setelah mengaktifkan fitur penskalaan otomatis terkelola.
  • Anda harus menonaktifkan penskala otomatis terkelola sebelum memindahkan instance. Setelah memindahkan instance, Anda dapat mengaktifkan kembali penghitung skala otomatis terkelola.
  • Anda tidak dapat mengaktifkan penghitung skala otomatis yang dikelola pada instance yang menggunakan kurang dari satu node.

Parameter penskala otomatis terkelola

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

Parameter Deskripsi
Target penggunaan CPU prioritas tinggi Persentase kapasitas CPU prioritas tinggi instance. Nilai ini harus antara 10% sampai 90%. Saat penggunaan CPU 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 panduan, lihat Menentukan target penggunaan CPU.
Target penggunaan penyimpanan Persentase penyimpanan di node yang dapat Anda gunakan sebelum Spanner meningkatkan skala. Target ini memastikan Anda selalu memiliki kapasitas komputasi yang cukup untuk menangani fluktuasi jumlah data yang disimpan. Nilai ini harus antara 10-99%. Untuk panduan, lihat Menentukan target penggunaan penyimpanan.
Batas minimum Jumlah kapasitas komputasi terendah yang digunakan Spanner untuk menskalakan instance. Jika Anda menggunakan node, nilai ini setidaknya harus 1 node (atau 1.000 unit pemrosesan). Nilai ini tidak boleh lebih rendah dari 10% dari nilai yang Anda tetapkan untuk batas maksimum. Misalnya, jika batas maksimumnya adalah 40 node, batas minimum setidaknya harus 4 node. Persyaratan 10% adalah batas mutlak. Untuk panduan, lihat Menentukan Batas minimum.
Batas maksimum Jumlah kapasitas komputasi tertinggi yang digunakan Spanner dalam menskalakan 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. Nilainya tidak boleh lebih dari 10 kali angka yang Anda pilih untuk jumlah minimum kapasitas komputasi. Persyaratan 10 kali ini adalah batas yang ketat. Untuk panduan, lihat Menentukan batas maksimum.

Mengonfigurasi penskala otomatis terkelola

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

Menentukan target penggunaan CPU

Target optimal untuk instance Anda bergantung pada persyaratan latensi dan throughput beban kerja Anda. Lihat Pemberitahuan untuk penggunaan CPU yang tinggi guna melihat rekomendasi kami terkait penggunaan CPU maksimum untuk instance regional dan multi-region tunggal.

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

Menentukan target penggunaan penyimpanan

Untuk penskalaan otomatis, target penggunaan penyimpanan dinyatakan sebagai persentase per node. Untuk instance yang merupakan 1 node (1.000 unit pemrosesan) dan lebih besar, ukuran penyimpanan dibatasi hingga 4 TB per node.

Menentukan batas maksimum

Nilai yang Anda pilih sebagai jumlah maksimum kapasitas komputasi sama dengan jumlah kapasitas komputasi yang diperlukan instance untuk menangani traffic terberat, meskipun Anda tidak berharap akan mencapai volume tersebut sepanjang waktu. Spanner tidak pernah meningkatkan skala hingga kapasitas komputasi melebihi yang dibutuhkan. Anda juga dapat menganggap angka ini sebagai jumlah kapasitas komputasi tertinggi yang bersedia Anda bayar. Lihat Parameter Autoscaler untuk mengetahui detail tentang nilai yang diterima.

Batas maksimum harus mengizinkan target penggunaan CPU dan target penggunaan penyimpanan yang Anda tetapkan untuk penskalaan otomatis.

  • Jika Anda mengubah instance dari alokasi manual menjadi penskalaan otomatis terkelola, temukan jumlah kapasitas komputasi tertinggi yang dimiliki instance selama satu atau dua bulan terakhir. Batas maksimum penskalaan otomatis terkelola Anda minimal harus 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 memiliki beban kerja baru dan Anda tidak yakin bagaimana workload tersebut akan bertambah, Anda dapat memperkirakan jumlah kapasitas komputasi yang diperlukan untuk memenuhi target penggunaan penyimpanan bawaan, lalu menyesuaikannya nanti.

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

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

Menentukan batas minimum

Anda dapat menetapkan minimum 1 node atau 1.000 unit pemrosesan untuk memastikan bahwa instance Spanner dapat memperkecil skala ke ukuran terkecil dan paling hemat biaya. Instance tidak pernah menjadi terlalu kecil karena Spanner secara otomatis mencegah jumlah node turun di bawah jumlah minimum yang diperlukan untuk mempertahankan target penggunaan CPU dan penyimpanan. Untuk informasi selengkapnya tentang nilai yang diterima, lihat Parameter penskala otomatis terkelola dalam dokumen ini.

Namun, dalam banyak kasus, Anda perlu menetapkan nilai ini lebih dari satu. Pilih angka yang lebih tinggi atau naikkan batas minimum untuk situasi berikut:

  • Anda akan memiliki peristiwa skala puncak mendatang jika traffic Anda akan meningkat untuk sementara, dan ingin memastikan bahwa Anda memiliki kapasitas komputasi yang cukup.
  • Aplikasi Anda mengirimkan lonjakan traffic. Saat Anda menambahkan kapasitas komputasi baru, Spanner akan otomatis menyeimbangkan kembali untuk menggunakan node atau unit pemrosesan baru. Karena proses ini dapat memerlukan waktu beberapa menit, sebaiknya pertimbangkan untuk mengambil pendekatan konservatif dan memilih nilai minimum yang lebih tinggi. Dengan demikian, instance Anda akan mengakomodasi lonjakan dengan lancar.
  • Anda meningkatkan kapasitas komputasi maksimum. Nilai minimum harus selalu sepuluh persen atau kurang dari target kapasitas komputasi maksimum. Misalnya, jika Anda menetapkan jumlah maksimum node ke 30, Anda harus menetapkan jumlah minimum node setidaknya ke 3.

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

Batasan dan tanda parameter Google Cloud CLI

Saat menggunakan Google Cloud CLI untuk mengonfigurasi penskala otomatis yang terkelola, ada beberapa tanda yang diperlukan yang harus Anda tetapkan. Ada flag opsional yang digunakan untuk menunjukkan apakah Anda ingin menggunakan node atau unit pemrosesan. Untuk mengetahui informasi selengkapnya tentang cara membuat instance baru dengan Autocomplete terkelola, atau mengaktifkan penskalaan otomatis terkelola pada instance yang ada, lihat artikel berikut:

Tanda berikut diperlukan saat mengaktifkan penskala otomatis terkelola di instance Anda:

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

Jika memilih untuk menggunakan node, Anda juga harus menggunakan kedua tanda berikut saat mengaktifkan penghitung skala otomatis terkelola:

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

Jika memilih untuk menggunakan unit pemrosesan, Anda juga harus menggunakan kedua tanda berikut saat mengaktifkan penghitung skala 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 spesifik, 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 yang spesifik, bukan rentang penskalaan.
  • Anda tidak dapat mencampur flag untuk node dan unit pemrosesan secara bersamaan. Misalnya, Anda tidak dapat menggunakan --autoscaling-max-nodes dengan autoscaling-min-processing-units.

Menyesuaikan setelan

Perhatikan penggunaan kapasitas komputasi dan sesuaikan setelan Anda, jika diperlukan, terutama setelah Anda mengaktifkan penskala otomatis terkelola terlebih dahulu. Sebaiknya gunakan halaman System Insights di Konsol Google Cloud.

Kontrol akses

Untuk mengonfigurasi penskalaan otomatis terkelola, Anda harus menjadi akun utama dalam peran yang memiliki izin membuat dan memperbarui izin untuk instance yang Anda konfigurasi.

Pemantauan

Spanner menyediakan beberapa metrik untuk membantu Anda memahami performa penskalaan otomatis yang dikelola saat meningkatkan dan menurunkan skala untuk memenuhi persyaratan beban kerja. Metrik ini juga dapat membantu mengukur apakah setelan Anda optimal untuk memenuhi persyaratan workload dan biaya bisnis Anda. Misalnya, jika Anda mengamati bahwa jumlah node untuk sebuah instance sering kali mendekati jumlah maksimum node, Anda dapat mempertimbangkan untuk menaikkan jumlah maksimum. Untuk mempelajari lebih lanjut cara memantau resource Spanner, baca Memantau instance dengan Cloud Monitoring.

Metrik berikut ditampilkan dalam grafik di halaman System insights 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/storage_target_utilization

Logging

Spanner membuat log audit peristiwa sistem setiap kali menskalakan instance.

Anda dapat melihat log peristiwa sistem penskalaan otomatis terkelola di Konsol Google Cloud pada halaman Insight sistem.

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. Pada kolom Query, masukkan perintah berikut:

     protoPayload.methodName="AutoscaleInstance"
    

    Anda dapat menambahkan kueri berikut untuk memfilter lebih lanjut ke log:

    resource.type="spanner_instance"
    resource.labels.instance_id=INSTANCE_ID
    resource.labels.project_id=PROJECT_ID
    logName="projects/span-cloud-testing/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="AutoscaleInstance"
  4. Klik Jalankan kueri.

Panel Query results menampilkan log dalam 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 dengan menggunakan Cloud Monitoring API.

Langkah selanjutnya