Praktik terbaik umum

Halaman ini memberikan panduan untuk mengoptimalkan penggunaan Memorystore for Redis. Halaman ini juga menunjukkan potensi masalah yang harus dihindari.

Untuk daftar skenario pemecahan masalah, lihat Pemecahan masalah.

Ekspor RDB

Saat mengekspor cadangan RDB, gunakan panduan berikut:

Operasi yang menggunakan sumber daya secara intensif

Untuk instance Redis Paket Standar, operasi berikut menggunakan memori tambahan selama durasi operasi:

Upgrade versi, penskalaan, dan failover manual menggunakan memori tambahan (untuk instance Tingkat Standar) karena replikasi. Operasi ini mengikuti proses replikasi yang dijelaskan dalam Perilaku upgrade instance Tingkat Standar.

Operasi impor dan ekspor memerlukan memori tambahan karena proses Redis yang bercabang dan pengelolaan data salin-saat-tulis yang terkait dengan operasi ini.

Untuk mengurangi kelemahan dari operasi yang menggunakan banyak sumber daya, Anda harus:

Operasi dan skenario yang memerlukan percobaan ulang koneksi

Operasi dan skenario berikut memutus koneksi jaringan antara jaringan Anda dan instance Redis:

Operasi ini mengubah instance Anda, sehingga memerlukan gangguan koneksi sementara. Anda harus menerapkan logika percobaan ulang dengan backoff eksponensial sebelum menjalankan operasi ini sehingga aplikasi Anda secara otomatis terhubung kembali dan terus berfungsi secara normal.

Pemeliharaan rutin

Instance Memorystore for Redis menjalani pemeliharaan secara berkala. Untuk mengetahui detail selengkapnya, lihat kebijakan pemeliharaan Memorystore for Redis.

Terapkan praktik terbaik berikut agar Anda siap untuk pemeliharaan rutin:

Pengelolaan memori

Pengelolaan memori dapat menjadi tantangan karena fragmentasi memori populer yang terjadi pada Redis open source. Sebaiknya turunkan konfigurasi maxmemory untuk instance Anda guna memberikan overhead jika terjadi tekanan memori yang tinggi.

Cara terbaik untuk memantau tekanan memori pada instance Memorystore Anda adalah dengan menggunakan metrik Rasio Penggunaan Memori Sistem. Untuk panduan lebih mendetail tentang cara mengelola memori untuk Memorystore for Redis, lihat Praktik terbaik pengelolaan memori.

Mengelola koneksi yang tidak ada aktivitas

Seiring waktu, jumlah koneksi ke instance Memorystore dapat meningkat jika koneksi tidak dihentikan dengan benar. Hal ini dapat berdampak negatif pada performa, terutama jika Anda menggunakan enkripsi saat transit, yang mengenakan batas koneksi maksimum berdasarkan tingkat kapasitas Anda. Untuk mengurangi hal ini, sebaiknya gunakan parameter konfigurasi Redis timeout, yang memungkinkan Anda menetapkan jumlah detik sebelum koneksi klien yang tidak ada aktivitas dihentikan secara otomatis.

Konektor Akses VPC Serverless diperlukan untuk beberapa lingkungan serverless

Beberapa lingkungan serverless memerlukan Serverless VPC Access Connector agar dapat terhubung ke Memorystore for Redis. Siapkan konektor Akses VPC Serverless untuk project Anda jika Anda ingin terhubung menggunakan salah satu lingkungan ini.

Networking

Sebaiknya gunakan mode koneksi akses layanan pribadi. Memorystore for Redis menggunakan dua mode koneksi: akses layanan pribadi dan peering langsung. Mode koneksi akses layanan pribadi membuat pengelolaan rentang IP menjadi lebih sederhana dan memungkinkan Anda menggunakan VPC Bersama jika menginginkannya.

Setelah Anda membuat instance, mode koneksi tidak dapat diubah.

Untuk mengetahui detail selengkapnya, lihat Jaringan.

Pemantauan dan pemberitahuan

Sebaiknya gunakan monitoring dan pemberitahuan karena keduanya memberi Anda sinyal penting tentang penggunaan memori instance Redis. Laporan ini juga memberi Anda insight tentang seberapa efisien instance Redis merespons permintaan cache yang masuk.

Anda harus menyiapkan pemberitahuan default berikut:

Praktik terbaik penggunaan CPU

Penggunaan perintah redis yang mahal secara tidak tepat dapat menyebabkan latensi tinggi, respons tidak responsif, atau masalah konektivitas. Instance Paket Standar memberikan ketersediaan tinggi selama pemulihan dari bencana dan mengandalkan replikasi asinkron antara node utama dan replika. Jika salah satu node memiliki pemrosesan perintah yang mahal yang memblokir thread utama Redis, replikasi dapat terpengaruh. Jika masalah berlanjut dan terjadi pemadaman lokasi, data terbaru yang ditulis di lokasi pemadaman mungkin tidak tersedia di lokasi lain.

Sebaiknya gunakan Cloud Monitoring untuk menetapkan pemberitahuan untuk metrik detik CPU Thread Utama (redis.googleapis.com/stats/cpu_utilization_main_thread) guna memastikan pemakaian CPU tidak melebihi 0,9 detik untuk node utama dan 0,5 detik untuk setiap node replika.

Jika instance Redis Anda melebihi nilai yang direkomendasikan, sebaiknya skalakan instance ke tingkat kapasitas yang lebih tinggi atau ikuti petunjuk pemecahan masalah untuk menghindari operasi yang menggunakan CPU secara intensif.