Mengelola Memori Cadangan - Amazon ElastiCache untuk Redis

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

Mengelola Memori Cadangan

Memori cadangan adalah memori yang disisihkan untuk penggunaan nondata. Saat melakukan pencadangan atau failover, Redis menggunakan memori yang tersedia untuk merekam operasi tulis ke klaster Anda sementara data klaster 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 ElastiCache untuk Redis dan cara menerapkan opsi tersebut.

Berapa Banyak Memori Cadangan yang Anda Butuhkan?

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, sebaiknya tingkatkan nilai reserved-memory-percent parameter hingga 30% pada tipe 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

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

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

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

  • Untuk pelanggan yang mulai berlangganan pada atau setelah 16 Maret 2017 – Saat Anda membuat klaster atau grup replikasi Redis 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 memori Redis, Anda mungkin lebih memilih untuk menggunakan salah satu yang bukan parameter default Anda atau dengan nilai non-default. 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 klaster atau grup replikasi Redis yang baru. 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 ElastiCache untuk manajemen memori cadangan Redis dilakukan dengan menggunakan parameterreserved-memory. Nilai default reserved-memory adalah 0. Default ini tidak mencadangkan memori untuk overhead Redis dan memungkinkan Redis untuk mengonsumsi semua memori simpul dengan data.

Mengubah reserved-memory agar Anda memiliki cukup memori tersedia untuk pencadangan dan failover mengharuskan Anda membuat grup parameter kustom. Pada grup parameter kustom ini, Anda menetapkan reserved-memory ke nilai yang sesuai untuk versi Redis yang berjalan pada klaster dan jenis simpul dari klaster Anda. Untuk informasi lain, lihat Berapa Banyak Memori Cadangan yang Anda Butuhkan?

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

Prosedur berikut menunjukkan cara menggunakan reserved-memory untuk mengelola memori di klaster Redis 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 parameter.

    aws elasticache create-cache-parameter-group \ --cache-parameter-group-name redis6x-m3xl \ --description "Redis 2.8.x for m3.xlarge node type" \ --cache-parameter-group-family redis6.x
  2. Hitung jumlah byte memori yang dapat dicadangkan untuk overhead Redis. Anda dapat menemukan nilai maxmemory untuk jenis simpul Anda di Parameter khusus jenis simpul 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 sebelum 2.8.22 dan perlu memesan setengah dari node. maxmemory Untuk informasi selengkapnya, lihat Mengubah grup 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 klaster atau grup replikasi Redis untuk menggunakan grup parameter kustom Anda.

    Contoh CLI berikut mengubah klaster my-redis-cluster untuk menggunakan grup parameter kustom redis28-m3xl yang 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

    Contoh CLI berikut mengubah grup replikasi my-redis-repl-grp untuk menggunakan grup parameter kustom redis28-m3xl yang 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-percent Parameternya

Pada 16 Maret 2017, Amazon ElastiCache memperkenalkan parameter reserved-memory-percent dan membuatnya tersedia di semua versi ElastiCache untuk Redis. 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 ElastiCache reserved-memory-percent for Redis khusus ElastiCache untuk Redis dan bukan bagian dari distribusi Redis.

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.

Untuk menyimpan memori menggunakan reserved-memory-percent

Untuk menggunakan reserved-memory-percent untuk mengelola memori pada cluster ElastiCache for Redis Anda, lakukan salah satu hal berikut:

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

  • Jika Anda menjalankan Redis di bawah versi 2.8.22, Anda mungkin perlu menyimpan lebih banyak memori dari default 25 persen reserved-memory-percent. 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 parameter.

    aws elasticache create-cache-parameter-group \ --cache-parameter-group-name redis28-50 \ --description "Redis 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 Mengubah grup 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 klaster atau grup replikasi Redis yang menjalankan versi Redis di bawah 2.8.22.

    Contoh CLI berikut mengubah klaster Redis my-redis-cluster untuk menggunakan grup parameter kustom redis28-50 yang dimulai dengan 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

    Contoh CLI berikut mengubah grup replikasi Redis my-redis-repl-grp untuk menggunakan grup parameter kustom redis28-50 yang dimulai dengan 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 ElastiCache membuat cluster Redis atau grup replikasi Anda. Namun, Anda dapat mengubah parameter manajemen memori cadangan menggunakan ElastiCache API AWS CLI atau 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 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.

Contoh CLI berikut mengubah grup parameter kustom redis32-cluster-on sehingga menggunakan 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 Mengubah grup 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.

Contoh CLI berikut mengubah grup parameter kustom redis32-m3xl sehingga menggunakan 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 Mengubah grup parameter.

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