Halaman ini menjelaskan cara kerja autoscaler terkelola dan menjelaskan biaya serta batasan saat menggunakan autoscaler terkelola. Panduan ini juga memberikan informasi untuk membantu Anda menentukan cara mengonfigurasi autoscaler terkelola.
Cara kerja autoscaler terkelola
Saat Anda mengaktifkan autoscaler terkelola, Spanner akan otomatis menyesuaikan ukuran instance untuk Anda. Fitur autoscaler terkelola bereaksi terhadap perubahan beban kerja atau kebutuhan penyimpanan instance saat beban meningkat atau menurun. Penskalaan otomatis terkelola meningkatkan skala, menambahkan kapasitas komputasi ke instance, atau menurunkan skala, 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 pada node atau unit pemrosesan.
Autoscaler terkelola Spanner menentukan jumlah kapasitas komputasi yang diperlukan, berdasarkan hal berikut:
- Target penggunaan CPU dengan prioritas tinggi
- Target penggunaan penyimpanan
- Batas minimum
- Batas maksimum
Setiap dimensi penskalaan menghasilkan ukuran instance yang direkomendasikan, dan Spanner secara otomatis menggunakan ukuran 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.
Saat jumlah kapasitas komputasi berubah, Spanner akan terus mengoptimalkan penyimpanan. Fitur ini menyeimbangkan kembali data di semua server untuk memastikan traffic tersebar secara merata dan tidak ada server yang kelebihan beban. Lihat Batasan untuk mengetahui informasi selengkapnya.
Jika autoscaler 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 diskalakan ke target kapasitas komputasi maksimumnya, tetapi workload memerlukan lebih banyak penyimpanan daripada batas penyimpanan maksimum, permintaan tulis dapat gagal. Untuk mengetahui apakah target maksimum tercapai, Anda dapat melihat log peristiwa sistem autoscaler terkelola di konsol Google Cloud pada halaman Insight sistem. Untuk mengetahui informasi selengkapnya, lihat batas penyimpanan.
Saat menskalakan instance ke bawah, Spanner akan menghapus kapasitas komputasi dengan kecepatan yang lebih lambat daripada saat menskalakan ke atas, 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 autoscaler terkelola dan batas yang Anda tetapkan untuk autoscaler terkelola.
Misalnya, jika Anda sebelumnya mengonfigurasi instance Spanner secara manual agar memiliki kapasitas komputasi yang cukup untuk menangani beban kerja puncak kapan saja, biaya Anda dengan autoscaler terkelola mungkin lebih rendah karena mengurangi kapasitas komputasi saat instance tidak ada aktivitas.
Jika Anda sebelumnya mengonfigurasi instance Spanner secara manual agar memiliki kapasitas komputasi yang cukup untuk beban kerja rata-rata dan performa keseluruhan menurun saat traffic beban kerja meningkat, biaya Anda dengan autoscaler terkelola mungkin lebih tinggi karena autoscaler 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 node atau unit pemrosesan maksimum ke tingkat yang ingin Anda belanjakan.
Batasan
Batasan berikut berlaku saat Anda mengaktifkan atau mengubah fitur autoscaling terkelola di instance:
- Anda tidak dapat memindahkan instance saat fitur autoscaler terkelola diaktifkan. Anda harus menonaktifkan autoscaler terkelola terlebih dahulu, lalu memindahkan instance. Setelah memindahkan instance, Anda dapat mengaktifkan kembali autoscaler terkelola.
- Anda harus menetapkan batas minimum pada instance penskalaan otomatis ke 1.000 unit pemrosesan atau lebih besar, atau 1 node atau lebih besar.
- Saat Anda mengaktifkan penskalaan otomatis pada instance yang ada, kapasitas instance yang ada dapat lebih rendah dari nilai batas minimum yang Anda konfigurasi di autoscaler terkelola. Namun, instance akan otomatis diskalakan 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 diskalakan hingga 2 node.
Parameter autoscaler terkelola
Saat membuat atau mengedit instance dan memilih untuk mengaktifkan pengoptimal ukuran terkelola, Anda menentukan nilai yang ditampilkan dalam tabel berikut.
Parameter | Deskripsi |
---|---|
Target penggunaan CPU dengan prioritas tinggi | Persentase kapasitas CPU berprioritas tinggi instance. Nilai ini harus antara 10% hingga 90%. Jika penggunaan CPU instance melebihi target yang telah Anda tetapkan, Spanner akan segera menambahkan kapasitas komputasi ke instance. 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 diskalakan. Target ini memastikan bahwa Anda selalu memiliki kapasitas komputasi yang memadai 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 menskalakan instance. Nilai minimum tidak boleh lebih rendah dari 10% nilai yang Anda tetapkan untuk batas maksimum. Misalnya, jika batas maksimumnya adalah 40 node, batas minimumnya harus minimal 4 node. Persyaratan 10% adalah batas yang ketat. Untuk panduan, lihat Menentukan batas minimum. |
Batas maksimum | Jumlah kapasitas komputasi tertinggi yang diskalakan oleh Spanner untuk 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 jumlah yang Anda pilih untuk jumlah minimum kapasitas komputasi. Persyaratan 10 kali ini adalah batas keras. Untuk panduan, lihat Menentukan batas maksimum. |
Mengonfigurasi autoscaler terkelola
Bagian ini menjelaskan cara menentukan angka yang akan dipilih untuk parameter autoscaler yang dikelola. Setelah menetapkan nilai awal, pantau instance Anda dan sesuaikan jumlahnya jika perlu.
Menentukan target penggunaan CPU
Target optimal untuk instance Anda bergantung pada persyaratan latensi dan throughput beban kerja Anda. Untuk melihat rekomendasi kami terkait penggunaan CPU maksimum untuk konfigurasi instance regional, dua region, dan multi-region, lihat Notifikasi untuk penggunaan CPU yang tinggi.
Secara umum, jika Anda mengamati latensi yang terlalu tinggi, Anda harus menurunkan target penggunaan CPU.
Menentukan target penggunaan penyimpanan
Untuk penskalaan otomatis, target penggunaan penyimpanan dinyatakan sebagai persentase per node. Untuk instance yang terdiri dari 1 node (1.000 unit pemrosesan) dan lebih besar, ukuran penyimpanan dibatasi hingga 10 TB per node.
Menentukan batas maksimum
Nilai yang Anda pilih sebagai jumlah kapasitas komputasi maksimum sama dengan jumlah kapasitas komputasi yang diperlukan instance untuk menangani traffic terberat, meskipun Anda tidak mengharapkan untuk mencapai volume tersebut sebagian besar waktu. Spanner tidak pernah menskalakan kapasitas komputasi lebih dari 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 memungkinkan 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 autoscaler terkelola Anda setidaknya harus sebesar itu.
Jika Anda mengaktifkan autoscaler terkelola untuk instance baru, lihat metrik dari instance lain dan gunakan sebagai panduan saat menetapkan batas maksimum.
Jika memiliki beban kerja baru dan tidak yakin bagaimana beban kerja tersebut akan berkembang, Anda dapat memperkirakan jumlah kapasitas komputasi yang diperlukan untuk memenuhi target penggunaan penyimpanan bawaan, lalu menyesuaikan jumlahnya nanti.
Anda juga perlu mengetahui jumlah kuota yang tersisa di node karena autoscaler terkelola tidak dapat mengonfigurasi instance Anda agar memiliki kapasitas komputasi yang lebih besar daripada kuota Anda. Untuk informasi selengkapnya, lihat Batas node.
Setelah instance Anda aktif dan berjalan dengan penskalaan otomatis diaktifkan, monitor instance dan pastikan nilai yang Anda pilih untuk batas maksimum setidaknya sama tinggi dengan batas yang direkomendasikan untuk target CPU dan batas yang direkomendasikan untuk target penyimpanan.
Menentukan batas minimum
Anda menetapkan batas minimum untuk autoscaler terkelola untuk memastikan bahwa instance Spanner dapat diskalakan ke ukuran terkecil dan paling hemat biaya. Spanner secara otomatis mencegah jumlah node menurun di bawah minimum yang diperlukan untuk mempertahankan target penggunaan CPU dan penyimpanan.
Nilai minimum terkecil yang diizinkan oleh autoscaler 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 tersebut akan otomatis diskalakan ke minimum ini saat Anda memulainya.
Setelah memulai instance yang telah mengelola penskalaan otomatis, Anda harus melakukan pengujian awal untuk memastikannya berfungsi pada ukuran yang ditetapkan minimum. Anda harus mengujinya lagi secara berkala untuk memastikannya terus berfungsi seperti yang diharapkan.
Untuk mengetahui informasi selengkapnya tentang nilai yang diterima, lihat Parameter autoscaler terkelola dalam dokumen ini.
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 peristiwa skala puncak mendatang saat traffic Anda diperkirakan akan meningkat untuk sementara, dan Anda ingin memastikan bahwa Anda memiliki kapasitas compute yang memadai.
- Aplikasi Anda mengirim traffic yang tidak stabil. 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 minimum yang lebih tinggi. Dengan begitu, instance Anda akan 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 setidaknya ke3
.
Jika Anda meningkatkan nilai untuk kapasitas komputasi minimum pada instance, Spanner akan segera mencoba menskalakan instance ke minimum baru. Batasan standar berlaku. Jika kuota habis, permintaan Anda untuk mengubah konfigurasi autoscaler terkelola akan gagal dan konfigurasi tidak akan diperbarui.
Flag dan batasan parameter Google Cloud CLI
Saat menggunakan Google Cloud CLI untuk mengonfigurasi autoscaler terkelola, ada beberapa flag yang diperlukan yang harus Anda tetapkan. Ada flag opsional yang Anda gunakan untuk menunjukkan apakah Anda ingin menggunakan node atau unit pemrosesan. Untuk informasi selengkapnya tentang cara membuat instance baru dengan autoscaler terkelola, atau mengaktifkan penskalaan otomatis terkelola pada instance yang ada, lihat hal berikut:
Flag berikut diperlukan saat mengaktifkan autoscaler terkelola di instance Anda:
autoscaling-high-priority-cpu-percent
autoscaling-storage-percent
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 flag berikut saat mengaktifkan autoscaler terkelola:
autoscaling-min-processing-units
autoscaling-max-processing-units
Batasan berikut berlaku saat menambahkan autoscaler 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 flagautoscaling-min-processing-units
atauautoscaling-max-processing-units
karena penggunaan--processing-units
menetapkan jumlah unit pemrosesan tertentu, bukan rentang penskalaan. - Anda tidak dapat menggabungkan flag untuk node dan unit pemrosesan. Misalnya, Anda tidak dapat menggunakan
--autoscaling-max-nodes
denganautoscaling-min-processing-units
.
Menyesuaikan setelan
Pantau penggunaan kapasitas komputasi dan sesuaikan setelan Anda, jika diperlukan, terutama setelah Anda mengaktifkan autoscaler terkelola untuk pertama kalinya. Sebaiknya gunakan halaman Insight Sistem di konsol Google Cloud.
Kontrol akses
Untuk mengonfigurasi autoscaler terkelola, Anda harus menjadi akun utama dalam peran yang memiliki izin membuat dan memperbarui untuk instance yang Anda konfigurasi.
Pemantauan
Spanner menyediakan beberapa metrik untuk membantu Anda memahami performa autoscaler terkelola saat menskalakan ke atas dan ke bawah untuk memenuhi persyaratan beban kerja. Metrik ini juga dapat membantu Anda mengukur apakah setelan Anda optimal untuk memenuhi persyaratan biaya dan beban kerja bisnis Anda. Misalnya, jika Anda mengamati bahwa jumlah node untuk instance sering kali mendekati jumlah node maksimum, 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/storage_target_utilization
Logging
Spanner membuat log audit peristiwa sistem setiap kali menskalakan instance.
Anda dapat melihat log aktivitas sistem autoscaler terkelola di konsol Google Cloud pada halaman Insight sistem.
Anda juga dapat melihat log menggunakan Logs Explorer:
Di konsol Google Cloud, buka Logs Explorer:
Pilih project Google Cloud yang sesuai.
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/span-cloud-testing/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload.methodName="AutoscaleInstance"
Klik Run query.
Panel Query results menampilkan log selama 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 selanjutnya
- Pelajari cara membuat instance
- Pelajari cara mengubah instance untuk menambahkan penskalaan otomatis atau mengubah setelan penskalaan otomatis
- Pelajari cara mengubah instance dari menggunakan penskalaan otomatis menjadi penskalaan manual