Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Redis - monitorowanie wykorzystania pamięci

Pamięć jest zasobem krytycznym dla wydajności Redis. Używana pamięć definiuje całkowitą liczbę bajtów przydzielonych przez Redis przy użyciu jego alokatora (albo standardowego libc, jemalloc lub alternatywnego alokatora, takiego jak tcmalloc).

Możesz zebrać wszystkie metryki wykorzystania pamięci dla instancji Redis, uruchamiając „pamięć informacji”.

 
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

Czasami, gdy Redis jest skonfigurowany bez maksymalnego limitu pamięci, użycie pamięci w końcu osiągnie pamięć systemową, a serwer zacznie wyrzucać błędy „Out of Memory”. W innych przypadkach Redis jest skonfigurowany z maksymalnym limitem pamięci, ale z zasadami noeviction. Spowodowałoby to, że serwer nie eksmitowałby żadnych kluczy, uniemożliwiając w ten sposób wszelkie zapisy do czasu zwolnienia pamięci. Rozwiązaniem takich problemów byłoby skonfigurowanie Redisa z maksymalną pamięcią i pewną polityką eksmisji. W takim przypadku serwer zaczyna eksmitować klucze za pomocą zasad eksmisji, gdy wykorzystanie pamięci osiągnie maksimum.

Pamięć RSS (Resident Set Size) to liczba bajtów, które system operacyjny przydzielił Redis. Jeśli stosunek „memory_rss” do „memory_used” jest większy niż ~1,5, oznacza to fragmentację pamięci. Pofragmentowaną pamięć można odzyskać przez ponowne uruchomienie serwera.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wyjątek limitu czasu po poleceniach asynchronicznych i Task.WhenAny czeka w StackExchange.Redis

  2. Jak uzyskać DIFF na posortowanym zestawie?

  3. Wysyłasz zapytania do Redis?

  4. Odsłanianie Redisa za pomocą kontrolera Ingress Nginx

  5. phpredis na Windows 7 64bit xampp