Mengelola memori cadangan untuk Valkey dan Redis OSS - Amazon ElastiCache

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengelola memori cadangan untuk Valkey dan Redis OSS

Memori cadangan adalah memori yang disisihkan untuk penggunaan nondata. Saat melakukan pencadangan atau failover, Valkey dan Redis OSS menggunakan memori yang tersedia untuk merekam operasi penulisan ke cluster Anda saat data cluster sedang ditulis ke file.rdb. Jika tidak tersedia memori yang cukup untuk semua operasi tulis, proses tersebut akan gagal. Berikut ini, Anda dapat menemukan informasi tentang opsi untuk mengelola memori cadangan untuk ElastiCache (RedisOSS) dan cara menerapkan opsi tersebut.

Berapa Banyak Memori Cadangan yang Anda Butuhkan?

Jika Anda menjalankan versi Redis OSS sebelum 2.8.22, cadangan lebih banyak memori untuk backup dan failovers daripada jika Anda menjalankan Redis 2.8.22 atau yang lebih baru. OSS Persyaratan ini disebabkan oleh berbagai cara yang ElastiCache (RedisOSS) mengimplementasikan proses pencadangan. Aturan praktisnya adalah mencadangkan setengah dari maxmemory nilai tipe node untuk OSS overhead Redis untuk versi sebelum 2.8.22, dan seperempat untuk Redis versi 2.8.22 dan yang lebih baru. OSS

Karena berbagai cara yang ElastiCache mengimplementasikan proses pencadangan dan replikasi, aturan praktisnya adalah mencadangkan 25% dari maxmemory nilai tipe node dengan menggunakan parameter. reserved-memory-percent Ini adalah nilai default dan direkomendasikan untuk sebagian besar kasus.

Ketika tipe instans mikro dan kecil burstable beroperasi mendekati maxmemory batas, mereka mungkin mengalami penggunaan swap. Untuk meningkatkan keandalan operasional pada jenis instans ini selama pencadangan, replikasi, dan lalu lintas tinggi, kami sarankan untuk meningkatkan nilai reserved-memory-percent parameter hingga 30% pada jenis instans kecil, dan hingga 50% pada jenis instans mikro.

Untuk beban kerja berat tulis pada ElastiCache cluster dengan tiering data, kami sarankan untuk meningkatkan reserved-memory-percent hingga 50% dari memori node yang tersedia.

Untuk informasi lain, lihat hal berikut:

Parameter untuk Mengelola Memori Cadangan

Pada 16 Maret 2017, Amazon ElastiCache menyediakan dua parameter yang saling eksklusif untuk mengelola OSS memori Valkey atau Redis Anda, dan. reserved-memory reserved-memory-percent Tak satu pun dari parameter ini merupakan bagian dari distribusi Valkey atau RedisOSS.

Bergantung pada kapan Anda menjadi ElastiCache pelanggan, satu atau yang lain dari parameter ini adalah parameter manajemen memori default. Parameter ini berlaku ketika Anda membuat OSS cluster Valkey atau Redis baru atau grup replikasi dan menggunakan grup parameter default.

  • Untuk pelanggan yang memulai sebelum 16 Maret 2017 - Saat Anda membuat OSS klaster Redis atau grup replikasi menggunakan grup parameter default, parameter manajemen memori Anda adalah. reserved-memory Dalam hal ini, memori cadangan adalah nol (0) byte.

  • Untuk pelanggan yang memulai pada atau setelah 16 Maret 2017 - Saat Anda membuat OSS klaster Valkey atau Redis atau grup replikasi menggunakan grup parameter default, parameter manajemen memori Anda adalah. reserved-memory-percent Dalam hal ini, 25 persen dari nilai maxmemory dari simpul Anda dicadangkan untuk tujuan nondata.

Setelah membaca tentang dua parameter manajemen OSS memori Valkey atau Redis, Anda mungkin lebih suka menggunakan salah satu yang bukan default Anda atau dengan nilai nondefault. Jika demikian, Anda dapat mengubah ke parameter manajemen memori cadangan yang lain.

Untuk mengubah nilai parameter tersebut, Anda dapat membuat grup parameter kustom dan mengubahnya untuk menggunakan parameter dan nilai manajemen memori pilihan Anda. Anda kemudian dapat menggunakan grup parameter kustom setiap kali Anda membuat OSS cluster Valkey atau Redis baru atau grup replikasi. Untuk klaster atau grup replikasi yang sudah ada, Anda dapat mengubahnya untuk menggunakan grup parameter kustom.

Untuk informasi selengkapnya, lihat berikut ini:

Parameter reserved-memory

Sebelum 16 Maret 2017, semua manajemen memori cadangan ElastiCache (RedisOSS) dilakukan dengan menggunakan parameterreserved-memory. Nilai default reserved-memory adalah 0. Default ini tidak menyimpan memori untuk OSS overhead Valkey atau Redis dan memungkinkan Valkey atau Redis OSS untuk mengkonsumsi semua memori node dengan data.

Mengubah reserved-memory agar Anda memiliki cukup memori tersedia untuk pencadangan dan failover mengharuskan Anda membuat grup parameter kustom. Dalam grup parameter kustom ini, Anda menyetel reserved-memory ke nilai yang sesuai untuk OSS versi Valkey atau Redis yang berjalan pada tipe node cluster dan cluster Anda. Untuk informasi selengkapnya, silakan lihat Berapa Banyak Memori Cadangan yang Anda Butuhkan?

Parameter reserved-memory khusus untuk ElastiCache dan bukan bagian dari OSS distribusi Redis umum.

Prosedur berikut menunjukkan cara menggunakan reserved-memory untuk mengelola memori pada cluster Valkey atau Redis OSS Anda.

Untuk mencadangkan memori menggunakan reserved-memory
  1. Buat grup parameter kustom yang menentukan keluarga grup parameter yang cocok dengan versi mesin yang Anda jalankan—misalnya, menentukan keluarga grup parameter redis2.8. Untuk informasi selengkapnya, lihat Membuat grup ElastiCache parameter.

    aws elasticache create-cache-parameter-group \ --cache-parameter-group-name redis6x-m3xl \ --description "Redis OSS 2.8.x for m3.xlarge node type" \ --cache-parameter-group-family redis6.x
  2. Hitung berapa byte memori yang akan dicadangkan untuk overhead Valkey atau OSS Redis. Anda dapat menemukan nilai maxmemory untuk jenis simpul Anda di Parameter spesifik tipe OSS node Redis.

  3. Ubah grup parameter kustom agar parameter reserved-memory adalah jumlah byte yang Anda hitung pada langkah sebelumnya. AWS CLI Contoh berikut mengasumsikan Anda menjalankan versi Redis OSS sebelum 2.8.22 dan perlu memesan setengah dari node. maxmemory Untuk informasi selengkapnya, lihat Memodifikasi grup ElastiCache parameter.

    aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name redis28-m3xl \ --parameter-name-values "ParameterName=reserved-memory, ParameterValue=7130316800"

    Anda memerlukan grup parameter kustom terpisah untuk setiap jenis simpul yang Anda gunakan, karena setiap jenis simpul memiliki nilai maxmemory yang berbeda. Dengan demikian, setiap jenis simpul membutuhkan nilai yang berbeda untuk reserved-memory.

  4. Ubah OSS cluster Redis atau grup replikasi Anda untuk menggunakan grup parameter kustom Anda.

    CLIContoh berikut memodifikasi cluster my-redis-cluster untuk menggunakan kelompok parameter kustom redis28-m3xl dimulai segera. Untuk informasi selengkapnya, lihat Memodifikasi sebuah cluster ElastiCache .

    aws elasticache modify-cache-cluster \ --cache-cluster-id my-redis-cluster \ --cache-parameter-group-name redis28-m3xl \ --apply-immediately

    CLIContoh berikut memodifikasi grup replikasi my-redis-repl-grp untuk menggunakan kelompok parameter kustom redis28-m3xl dimulai segera. Untuk informasi selengkapnya, lihat Mengubah grup replikasi.

    aws elasticache modify-replication-group \ --replication-group-id my-redis-repl-grp \ --cache-parameter-group-name redis28-m3xl \ --apply-immediately

reserved-memory-percentParameternya

Pada 16 Maret 2017, Amazon ElastiCache memperkenalkan parameter reserved-memory-percent dan membuatnya tersedia di semua versi ElastiCache (RedisOSS). Tujuan dari reserved-memory-percent adalah untuk menyederhanakan manajemen memori cadangan di semua klaster Anda. Hal ini dilakukan dengan memungkinkan Anda memiliki satu grup parameter tunggal untuk setiap keluarga grup parameter (seperti redis2.8) untuk mengelola memori cadangan dari klaster Anda, terlepas dari jenis simpulnya. Nilai default untuk reserved-memory-percent adalah 25 (25 persen).

Parameter reserved-memory-percent khusus untuk ElastiCache dan bukan bagian dari OSS distribusi Redis umum.

Jika klaster Anda menggunakan jenis simpul dari keluarga r6gd dan penggunaan memori Anda mencapai 75 persen, tingkatan data akan dipicu secara otomatis. Untuk informasi selengkapnya, lihat Tingkatan data di ElastiCache.

Untuk menyimpan memori menggunakan reserved-memory-percent

Untuk menggunakan reserved-memory-percent untuk mengelola memori pada klaster ElastiCache (RedisOSS) Anda, lakukan salah satu hal berikut:

  • Jika Anda menjalankan Redis OSS 2.8.22 atau yang lebih baru, tetapkan grup parameter default ke cluster Anda. Default 25 persen seharusnya sudah memadai. Jika tidak, lakukan langkah yang dijelaskan berikut untuk mengubah nilai.

  • Jika Anda menjalankan versi Redis OSS sebelum 2.8.22, Anda mungkin perlu memesan lebih banyak memori daripada default 25 reserved-memory-percent persen. Untuk melakukannya, gunakan prosedur berikut.

Untuk mengubah nilai persen reserved-memory-percent
  1. Buat grup parameter kustom yang menentukan keluarga grup parameter yang cocok dengan versi mesin yang Anda jalankan—misalnya, menentukan keluarga grup parameter redis2.8. Grup parameter kustom diperlukan karena Anda tidak dapat mengubah grup parameter default. Untuk informasi selengkapnya, lihat Membuat grup ElastiCache parameter.

    aws elasticache create-cache-parameter-group \ --cache-parameter-group-name redis28-50 \ --description "Redis OSS 2.8.x 50% reserved" \ --cache-parameter-group-family redis2.8

    Karena reserved-memory-percent mencadangkan memori sebagai persentase maxmemory simpul, Anda tidak memerlukan grup parameter kustom untuk setiap jenis simpul.

  2. Ubah grup parameter kustom agar reserved-memory-percent menjadi 50 (50 persen). Untuk informasi selengkapnya, lihat Memodifikasi grup ElastiCache parameter.

    aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name redis28-50 \ --parameter-name-values "ParameterName=reserved-memory-percent, ParameterValue=50"
  3. Gunakan grup parameter kustom ini untuk setiap kelompok Redis OSS atau grup replikasi yang menjalankan versi Redis yang lebih tua dari 2.8.22OSS.

    CLIContoh berikut memodifikasi OSS cluster Redis my-redis-cluster untuk menggunakan kelompok parameter kustom redis28-50 dimulai segera. Untuk informasi selengkapnya, lihat Memodifikasi sebuah cluster ElastiCache .

    aws elasticache modify-cache-cluster \ --cache-cluster-id my-redis-cluster \ --cache-parameter-group-name redis28-50 \ --apply-immediately

    CLIContoh berikut memodifikasi grup OSS replikasi Redis my-redis-repl-grp untuk menggunakan kelompok redis28-50 parameter kustom dimulai segera. Untuk informasi selengkapnya, lihat Mengubah grup replikasi.

    aws elasticache modify-replication-group \ --replication-group-id my-redis-repl-grp \ --cache-parameter-group-name redis28-50 \ --apply-immediately

Menentukan Parameter Manajemen Memori Cadangan

Jika Anda adalah ElastiCache pelanggan saat ini pada 16 Maret 2017, parameter manajemen memori cadangan default Anda adalah reserved-memory dengan nol (0) byte memori cadangan. Jika Anda menjadi ElastiCache pelanggan setelah 16 Maret 2017, parameter manajemen memori cadangan default Anda adalah reserved-memory-percent dengan 25 persen dari memori node yang dicadangkan. Ini benar tidak masalah ketika Anda membuat cluster ElastiCache (RedisOSS) atau grup replikasi Anda. Namun, Anda dapat mengubah parameter manajemen memori cadangan Anda menggunakan AWS CLI atau ElastiCache API.

Parameter reserved-memory dan reserved-memory-percent keduanya bersifat saling eksklusif. Grup parameter selalu memiliki salah satu dari keduanya tetapi tidak pernah keduanya. Anda dapat mengubah parameter yang digunakan grup parameter untuk manajemen memori cadangan dengan mengubah grup parameter. Grup parameter harus berupa grup parameter kustom, karena Anda tidak dapat mengubah grup parameter default. Untuk informasi selengkapnya, lihat Membuat grup ElastiCache parameter.

Untuk menentukan reserved-memory-percent

Untuk menggunakan reserved-memory-percent sebagai parameter manajemen memori cadangan, ubah grup parameter kustom menggunakan perintah modify-cache-parameter-group. Gunakan parameter parameter-name-values untuk menentukan reserved-memory-percent dan memberikan nilai untuknya.

CLIContoh berikut memodifikasi grup parameter kustom redis32-cluster-on sehingga digunakan reserved-memory-percent untuk mengelola memori cadangan. Nilai harus diberikan ke ParameterValue agar grup parameter dapat menggunakan parameter ParameterName untuk manajemen memori cadangan. Untuk informasi selengkapnya, lihat Memodifikasi grup ElastiCache parameter.

aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name redis32-cluster-on \ --parameter-name-values "ParameterName=reserved-memory-percent, ParameterValue=25"
Untuk menentukan reserved-memory

Untuk menggunakan reserved-memory sebagai parameter manajemen memori cadangan, ubah grup parameter kustom menggunakan perintah modify-cache-parameter-group. Gunakan parameter parameter-name-values untuk menentukan reserved-memory dan memberikan nilai untuknya.

CLIContoh berikut memodifikasi grup parameter kustom redis32-m3xl sehingga digunakan reserved-memory untuk mengelola memori cadangan. Nilai harus diberikan ke ParameterValue agar grup parameter dapat menggunakan parameter ParameterName untuk manajemen memori cadangan. Karena versi mesin lebih baru dari 2.8.22, kami menetapkan nilainya menjadi 3565158400, yaitu 25 persen maxmemory dari cache.m3.xlarge. Untuk informasi selengkapnya, lihat Memodifikasi grup ElastiCache parameter.

aws elasticache modify-cache-parameter-group \ --cache-parameter-group-name redis32-m3xl \ --parameter-name-values "ParameterName=reserved-memory, ParameterValue=3565158400"