Halaman ini menjelaskan berbagai skenario error, dan memberikan panduan untuk menyelesaikan error tersebut.
Skenario replikasi
Bagian ini menjelaskan masalah replikasi yang mungkin terjadi pada instance Anda.
Bagaimana cara memantau jeda replikasi?
Memorystore for Valkey memiliki metrik /instance/replication/maximum_offset_diff
. Metrik ini memantau perbedaan offset replikasi maksimum (dalam byte) untuk node dalam instance primer.
Dengan menjaga perbedaan offset replikasi tetap rendah, replika dapat melakukan operasi sinkronisasi inkremental lebih sering dan dengan biaya yang lebih rendah daripada operasi sinkronisasi penuh.
Sebaiknya tetapkan nilai minimum untuk metrik maximum_offset_diff
. Jika
nilai minimum terlampaui, Memorystore for Valkey dapat memberi tahu Anda melalui
pemberitahuan.
Berdasarkan jenis node untuk instance Anda, sebaiknya tetapkan nilai minimum, sebagai berikut:
- Jika jenis node adalah
shared-core-nano
,standard-small
, atauhighmem-medium
, tetapkan nilai minimum agar kurang dari 64 MB. - Jika jenis node adalah
highmem-xlarge
, tetapkan nilai minimum menjadi kurang dari 1 GB.
Apa yang Anda lakukan jika ada jeda replikasi antara instance utama dan replikanya?
Mungkin ada jeda replikasi yang signifikan jika instance utama memiliki terlalu banyak operasi tulis, dan replika tidak dapat mengejar untuk mereplikasi operasi ini. Untuk mengatasi masalah ini, sebaiknya Anda menskalakan kapasitas instance dengan meningkatkan jumlah sharding untuk instance.
Skenario pengelolaan memori
Bagian ini menjelaskan masalah pengelolaan memori yang mungkin dialami instance Anda.
Metrik mana yang dapat Anda gunakan untuk menentukan bahwa instance Anda mengalami tekanan memori?
Untuk memantau penggunaan memori untuk instance Memorystore for Valkey, sebaiknya lihat metrik /instance/memory/maximum_utilization
. Jika penggunaan memori instance mendekati 80% dan Anda memperkirakan penggunaan data akan meningkat, tingkatkan ukuran instance untuk meningkatkan performa dan menyediakan ruang bagi data baru.
Skenario pemantauan
Bagian ini menjelaskan masalah pemantauan yang mungkin dialami instance Anda.
Bagaimana cara menyiapkan pemberitahuan untuk Memorystore for Valkey?
Anda dapat menggunakan Cloud Monitoring untuk menyetel pemberitahuan yang akan memberi tahu Anda jika ada metrik yang melampaui nilai minimum yang Anda tetapkan untuk instance Anda. Untuk mengetahui informasi selengkapnya tentang cara menyetel pemberitahuan di Cloud Monitoring, lihat Menyetel pemberitahuan Monitoring untuk penggunaan memori.
Skenario pengelolaan koneksi
Bagian ini menjelaskan masalah pengelolaan koneksi yang mungkin dialami instance Anda.
Jika Anda mencapai batas koneksi atau menerima waktu tunggu koneksi, apa yang harus Anda lakukan?
Saat Anda mencapai batas koneksi, klien Anda gagal terhubung ke server Anda. Hal ini dikenal sebagai penolakan koneksi.
Jika ini terjadi, lakukan hal berikut:
- Gunakan metrik
/instance/node/stats/rejected_connections_count
untuk menentukan jumlah koneksi yang ditolak oleh Memorystore untuk Valkey karena node instance mencapai batas klien maksimum. - Gunakan metrik
/instance/node/clients/connected_clients
untuk menentukan jumlah klien yang terhubung ke node instance. Dengan begitu, Anda dapat melihat apakah semua node dalam instance berada di bawah batas. - Hentikan koneksi yang bocor atau tidak diinginkan menggunakan perintah
client kill
. - Kurangi jumlah koneksi atau ukuran kumpulan di aplikasi klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi yang terkait dengan aplikasi klien.
- Sesuaikan batas klien maksimum. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi instance.
- Skalakan instance Anda ke jenis node yang lebih besar agar instance Anda memiliki batas koneksi yang lebih tinggi.
Skenario waktu tunggu
Bagian ini menjelaskan masalah waktu tunggu yang mungkin dialami instance Anda.
Jika Anda menerima waktu tunggu I/O, apa yang akan Anda lakukan?
Jika operasi baca atau tulis di Memorystore untuk Valkey gagal diselesaikan dalam waktu yang ditentukan, maka akan terjadi waktu tunggu I/O. Waktu tunggu ini dapat terjadi karena berbagai alasan. Misalnya, satu atau beberapa node instance Anda mungkin kelebihan beban.
Jika Anda menerima waktu tunggu I/O, lakukan hal berikut:
- Gunakan metrik
instance/cpu/maximum_utilization
untuk menentukan pemakaian CPU untuk node di instance Anda, dari 0,0 (0%) hingga 1,0 (100%). Sebaiknya semua node memiliki persentase pemakaian CPU kurang dari 80%. Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik penggunaan CPU. - Saat klien terputus dari server karena batas waktu server habis, coba lagi dengan backoff eksponensial dan dengan Jitter. Hal ini membantu menghindari beberapa klien membebani server secara bersamaan.
Skenario error konektivitas
Bagian ini menjelaskan masalah konektivitas yang mungkin dialami instance Anda.
Error koneksi yang disebabkan oleh aturan firewall
Aturan firewall dapat menyebabkan error koneksi dengan memblokir port yang digunakan oleh Memorystore untuk Valkey. Anda harus memasukkan semua port ke daftar yang diizinkan untuk kedua endpoint Private Service Connect instance Anda. Untuk mengetahui informasi selengkapnya tentang endpoint, lihat Alamat jaringan yang dicadangkan.
Error koneksi yang disebabkan oleh kebijakan organisasi.
Anda dapat memiliki kebijakan organisasi yang memblokir koneksi Private Service Connect ke instance Memorystore for Valkey.
Jika kebijakan organisasi Anda menggunakan kebijakan .restrictPrivateServiceConnectProducer
,
maka masukkan nomor folder 961333125034
ke daftar yang diizinkan, yang merupakan folder khusus untuk Memorystore for Valkey. Contoh:
name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer spec: rules: - values: allowedValues: - under:folders/961333125034
Jika kebijakan organisasi Anda menggunakan kebijakan .disablePrivateServiceConnectCreationForConsumers
, Anda harus memasukkan SERVICE_PRODUCERS
ke dalam daftar yang diizinkan. Contoh:
name: organizations/Consumer-org-1/policies/compute.disablePrivateServiceConnectCreationForConsumers spec: rules: - values: allowedValues: - SERVICE_PRODUCERS
Menangani error untuk instance dengan Mode Cluster Dinonaktifkan
Jika aplikasi terhubung ke endpoint baca instance yang tidak memiliki replika baca, koneksi akan ditutup dan pesan error
ERR no replicas found
akan muncul. Dalam hal ini, coba hubungkan aplikasi ke endpoint utama atau tambahkan replika baca ke instance.Jika terjadi failover, koneksi yang ada dari aplikasi Anda akan ditutup dan pesan error
ERR role change occurred
akan muncul. Anda juga akan melihat pesan error ini jika aplikasi Anda terhubung ke endpoint baca instance, dan semua replika baca instance gagal. Dalam hal ini, aplikasi harus mencoba lagi koneksi dengan backoff eksponensial.