Tentang menskalakan kapasitas instance

Halaman ini menjelaskan perilaku instance Memorystore for Valkey Anda selama penskalaan.

Anda dapat menskalakan kapasitas untuk instance dengan cara berikut:

  • Anda dapat mengubah jumlah shard untuk instance Anda. Ini adalah penskalaan horizontal. Anda dapat menskalakan instance secara horizontal dengan salah satu cara berikut:

    • Penyebaran skala: meningkatkan kapasitas instance, yang memberi instance lebih banyak memori dan daya pemrosesan untuk menangani volume data atau traffic yang lebih besar. Kapasitas instance Anda ditentukan oleh jumlah shard dalam instance Anda.

      Dengan menskalakan instance, aplikasi Anda dapat menangani peningkatan permintaan tanpa penurunan performa. Untuk meluaskan instance, tambahkan shard ke instance.

    • Penskalaan ke dalam: mengurangi kapasitas instance, yang akan mengurangi daya pemrosesan dan jumlah memori yang tersedia untuk menyimpan data. Hal ini terjadi saat permintaan data aplikasi Anda menurun dan Anda perlu menurunkan penggunaan resource untuk menghemat biaya. Untuk memperkecil skala instance, kurangi jumlah shard dalam instance.

  • Anda dapat mengubah jenis node untuk instance. Ini adalah penskalaan vertikal. Anda dapat menskalakan instance secara vertikal dengan salah satu cara berikut:

    • Peningkatan skala: meningkatkan kapasitas instance Anda. Kapasitas instance Anda ditentukan oleh jenis node instance Anda. Untuk meningkatkan skala instance, ubah jenis node menjadi jenis node yang lebih besar. Misalnya, tingkatkan skala instance Anda dari jenis node standard-small ke jenis node highmem-medium.
    • Perkecil skala: mengurangi kapasitas instance Anda. Untuk menurunkan skala instance, ubah jenis node menjadi jenis node yang lebih kecil. Misalnya, turunkan skala instance Anda dari jenis node highmem-medium ke jenis node standard-small.

Dampak penskalaan

Selama operasi penskalaan, ketersediaan instance Anda tidak akan terpengaruh. Namun, saat Anda mengubah jumlah shard di instance, Memorystore for Valkey akan menyeimbangkan kembali keyspace instance. Hal ini dapat menyebabkan peningkatan latensi selama operasi penskalaan.

Selain itu, dampak penskalaan instance secara vertikal dengan mengubah jenis node mirip dengan yang terjadi pada operasi pemeliharaan.

Skenario kegagalan

Jika Anda mengalami error selama operasi penskalaan, kemungkinan hal itu disebabkan oleh salah satu skenario berikut:

  • Anda ingin memperbarui jumlah shard untuk instance, tetapi tidak memiliki memori kosong yang cukup untuk jenis node shared-core-nano untuk instance Anda.

    Untuk mengatasi masalah ini, Anda dapat meningkatkan skala instance atau mengosongkan memori dari node instance Anda. Untuk mengosongkan memori, lakukan hal berikut:

    1. Menghubungkan ke instance Memorystore for Valkey.
    2. Untuk mendapatkan detail tentang instance, termasuk alamat IP dan nomor port, gunakan perintah gcloud memorystore instances describe.
    3. Catat alamat IP dan nomor port instance.
    4. Untuk mendapatkan informasi tentang node instance, gunakan perintah berikut:

      valkey-cli -h IP_ADDRESS -p PORT_NUMBER cluster nodes
      

      Ganti IP_ADDRESS dan PORT_NUMBER dengan nilai yang Anda catat di langkah sebelumnya.

    5. Catat alamat IP dan nomor port node yang tidak memiliki cukup ruang kosong. ID node ini cocok dengan ID yang muncul dalam error.

    6. Untuk terhubung ke node ini, gunakan perintah berikut:

      valkey-cli -h IP_ADDRESS -p PORT_NUMBER
      

      Ganti IP_ADDRESS dan PORT_NUMBER dengan nilai yang Anda catat di langkah sebelumnya.

    7. Pada prompt, masukkan perintah info memory.

      Dalam output, nilai untuk parameter used_memory dan maxmemory akan muncul. used_memory adalah jumlah memori yang digunakan node dan maxmemory adalah jumlah memori yang tersedia untuk node.

    8. Bagi nilai parameter used_memory dengan nilai parameter maxmemory, dan pastikan hasil baginya lebih besar dari 98%.

    9. Untuk mengosongkan ruang bagi node, hapus beberapa kunci node.

    10. Masukkan kembali perintah info memory. Dalam output, nilai parameter used_memory lebih kecil.

    11. Bagi nilai parameter used_memory dengan nilai parameter maxmemory, dan pastikan hasil baginya sekarang kurang dari 98%. Jika tidak, hapus lebih banyak kunci.

    12. Untuk node lain yang tidak memiliki cukup ruang kosong, ulangi langkah 4 - 11 dari prosedur ini.

  • Anda melakukan penskalaan ke jumlah shard yang lebih kecil yang tidak memiliki kapasitas untuk menampung semua kunci yang disimpan Memorystore for Valkey di instance asli. Untuk mengatasinya, skalakan ke jumlah shard yang lebih besar yang dapat menampung semua kunci yang disimpan. Untuk informasi selengkapnya tentang cara meningkatkan jumlah shard untuk instance Anda, lihat Menskalakan jumlah shard.

  • Anda melakukan penskalaan ke jenis node yang lebih kecil yang tidak memiliki kapasitas untuk menampung semua data yang disimpan Memorystore for Valkey dalam jenis node aslinya. Jika hal ini terjadi, Memorystore for Valkey akan memberi Anda jenis node yang direkomendasikan untuk memperkecil skala secara vertikal.

  • Anda telah memperbarui jenis node untuk instance, dan Anda menimpa setelan default untuk jenis node asli atau setelan ini sudah ditimpa. Namun, jenis node baru yang diskalakan tidak mendukung nilai untuk setelan default atau setelan tersebut tidak valid untuk jenis node. Jika hal ini terjadi, Memorystore for Valkey akan menampilkan error. Untuk mengatasinya, ubah setelan secara manual agar valid untuk jenis node baru.

  • Anda menskalakan instance selama periode tekanan tulis yang tinggi (misalnya, selama pengujian beban). Untuk mengatasinya, lakukan penskalaan selama periode traffic instance rendah.

  • Anda memiliki slot yang berisi kunci besar, dan Anda ingin memigrasikan kunci ini ke node lain. Namun, node ini tidak memiliki memori yang cukup untuk mendukung kunci tersebut. Anda tidak dapat mengupdate instance. Untuk mengatasinya, kurangi ukuran kunci sehingga kurang dari 128 MB. Kemudian, coba lagi operasi update.

  • Nomor slot yang dimiliki oleh node instance tidak diketahui, tetapi hanya rentang slot yang diketahui. Memorystore for Valkey menampilkan pesan error. Jika hal ini terjadi, kurangi ukuran kunci dan coba lagi operasi update.

  • Anda meningkatkan kapasitas instance dengan melakukan penyebaran skala ke jumlah shard yang lebih kecil. Namun, Memorystore for Valkey tidak memiliki cukup memori untuk mengakomodasi permintaan ini. Untuk mengatasi masalah ini, kurangi kapasitas instance Anda dengan melakukan penskalaan ke jumlah shard asli yang lebih besar.

Praktik terbaik

Untuk membantu Anda menskalakan kapasitas instance, sebaiknya ikuti praktik terbaik berikut:

  • Pilih waktu untuk melakukan penskalaan: untuk meningkatkan kecepatan dan keandalan penskalaan instance, lakukan penskalaan selama periode traffic rendah. Untuk mempelajari cara memantau traffic instance, lihat Memantau instance.
  • Coba lagi saat Anda tidak dapat melakukan penskalaan: ketersediaan resource sering berubah. Jika Anda tidak dapat menskalakan instance karena batasan resource sementara, coba skalakan instance nanti.