Redis
 sql >> Database >  >> NoSQL >> Redis

Redis:monitoraggio dell'utilizzo della memoria

La memoria è una risorsa fondamentale per le prestazioni di Redis. La memoria utilizzata definisce il numero totale di byte allocati da Redis utilizzando il suo allocatore (libc standard, jemalloc o un allocatore alternativo come tcmalloc).

Puoi raccogliere tutti i dati delle metriche di utilizzo della memoria per un'istanza Redis eseguendo "info memory".

 
127.0.0.1:6379> info memory
Memory
used_memory:1007280
used_memory_human:983.67K
used_memory_rss:2002944
used_memory_rss_human:1.91M
used_memory_peak:1008128
used_memory_peak_human:984.50K

A volte, quando Redis è configurato senza limite di memoria massimo, l'utilizzo della memoria raggiungerà la memoria di sistema e il server inizierà a generare errori "Memoria insufficiente". Altre volte, Redis è configurato con un limite di memoria massimo ma con criteri di non eliminazione. Ciò farebbe sì che il server non elimini alcuna chiave, impedendo così qualsiasi scrittura fino a quando la memoria non viene liberata. La soluzione a tali problemi sarebbe la configurazione di Redis con memoria massima e alcuni criteri di sfratto. In questo caso, il server inizia a rimuovere le chiavi utilizzando la politica di rimozione poiché l'utilizzo della memoria raggiunge il massimo.

Memory RSS (Resident Set Size) è il numero di byte che il sistema operativo ha allocato a Redis. Se il rapporto tra "memory_rss" e "memory_used" è maggiore di ~1,5, significa frammentazione della memoria. La memoria frammentata può essere recuperata riavviando il server.