View a markdown version of this page

Memastikan Anda memiliki memori yang cukup untuk membuat snapshot Valkey atau Redis OSS - Amazon ElastiCache

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

Memastikan Anda memiliki memori yang cukup untuk membuat snapshot Valkey atau Redis OSS

Snapshot dan sinkronisasi

Valkey dan Redis OSS mendukung snapshot dan sinkronisasi menggunakan proses penyimpanan tanpa cabang yang memungkinkan Anda mengalokasikan lebih banyak memori untuk penggunaan aplikasi tanpa menimbulkan peningkatan penggunaan swap selama sinkronisasi dan penyimpanan.

Saat Anda bekerja dengan Red ElastiCache is OSS, Redis OSS memanggil perintah penulisan latar belakang dalam sejumlah kasus:

  • Saat membuat snapshot untuk cadangan.

  • Saat menyinkronkan replika dengan primer dalam grup replikasi.

  • Saat mengaktifkan fitur tambahan hanya file (AOF) untuk Redis OSS.

  • Saat mempromosikan replika ke primer (yang menyebabkan primary/replica sinkronisasi).

Setiap kali Redis OSS mengeksekusi proses penulisan latar belakang, Anda harus memiliki memori yang cukup tersedia untuk mengakomodasi overhead proses. Jika memori yang tersedia tidak cukup, proses akan gagal. Karena itu, penting untuk memilih jenis instance node yang memiliki memori yang cukup saat membuat cluster Redis OSS Anda.

Proses Penulisan Latar Belakang dan Penggunaan Memori dengan Valkey dan Redis OSS

Setiap kali proses penulisan latar belakang dipanggil, Valkey dan Redis OSS melakukan fork prosesnya (ingat, mesin ini berulir tunggal). Satu fork menyimpan data Anda ke disk dalam file snapshot Redis OSS .rdb. Fork lainnya melayani semua operasi baca dan tulis. Untuk memastikan bahwa snapshot Anda adalah snapshot di suatu titik waktu, semua pembaruan dan penambahan data ditulis ke area dengan memori tersedia yang terpisah dari area data.

Asalkan Anda memiliki cukup memori yang tersedia untuk mencatat semua operasi tulis saat data sedang dipersistensi ke disk, Anda tidak akan mengalami masalah kekurangan memori. Anda mungkin mengalami masalah kekurangan memori jika salah satu hal berikut berlaku:

  • Aplikasi Anda melakukan banyak operasi tulis, sehingga membutuhkan sejumlah besar memori yang tersedia untuk menerima data yang baru atau diperbarui.

  • Anda memiliki sedikit memori yang tersedia untuk menulis data yang baru atau diperbarui.

  • Anda memiliki set data besar yang membutuhkan waktu lama untuk dipersistensi ke disk, sehingga memerlukan sejumlah besar operasi tulis.

Diagram berikut menggambarkan penggunaan memori saat menjalankan operasi tulis di latar belakang.

Gambar: Diagram penggunaan memori selama operasi tulis di latar belakang.

Untuk informasi tentang dampak melakukan pencadangan pada performa, lihat Dampak kinerja cadangan cluster berbasis node.

Untuk informasi selengkapnya tentang cara Valkey dan Redis OSS melakukan snapshot, lihat. http://valkey.io

Untuk informasi selengkapnya tentang wilayah dan Zona Ketersediaan, lihat Memilih wilayah dan zona ketersediaan untuk ElastiCache.

Menghindari kehabisan memori saat menjalankan operasi tulis di latar belakang

Setiap kali proses penulisan latar belakang seperti BGSAVE atau BGREWRITEAOF dipanggil, agar proses tidak gagal, Anda harus memiliki lebih banyak memori yang tersedia daripada yang akan dikonsumsi oleh operasi tulis selama proses. Skenario terburuk adalah bahwa selama operasi penulisan latar belakang setiap catatan diperbarui dan beberapa catatan baru ditambahkan ke cache. Karena itu, kami sarankan Anda mengatur reserved-memory-percent ke 25 (25 persen) untuk Valkey dan Redis OSS.

Nilai maxmemory menunjukkan memori yang tersedia untuk overhead data dan operasional. Karena Anda tidak dapat mengubah parameter reserved-memory dalam grup parameter default, Anda harus membuat grup parameter kustom untuk klaster. Nilai default untuk reserved-memory adalah 0, yang memungkinkan Redis OSS untuk menggunakan semua maxmemory dengan data, berpotensi menyisakan terlalu sedikit memori untuk penggunaan lain, seperti proses penulisan latar belakang. Untuk nilai maxmemory berdasarkan jenis instans simpul, lihat Parameter spesifik tipe node Redis OSS.

Anda juga dapat menggunakan reserved-memory parameter untuk mengurangi jumlah memori yang digunakan pada kotak.

Untuk informasi lebih lanjut tentang Valkey dan Redis-specific parameter di ElastiCache, lihatParameter Valkey dan Redis OSS.

Untuk informasi tentang cara membuat dan mengubah grup parameter DB, lihat Membuat grup ElastiCache parameter dan Memodifikasi grup ElastiCache parameter.