DBAtlas · Veritabanı operasyon atlası

Büyük key'leri bul (--bigkeys, --memkeys, MEMORY USAGE)

RedisBellek

Komut

# Eleman sayisina gore tip basina en buyuk key'ler:
redis-cli -h redis1 -p 6379 --bigkeys -i 0.01
# Bellek boyutuna gore:
redis-cli -h redis1 -p 6379 --memkeys -i 0.01
# Boyut ve uzunluk birlikte, ilk 20 key (redis-cli 7.4+):
redis-cli -h redis1 -p 6379 --keystats --top 20 -i 0.01
# Supheli tek key'in bellek kullanimi (SAMPLES 0: tum elemanlar) ve encoding'i:
redis-cli -h redis1 -p 6379 MEMORY USAGE kullanici:1001:sepet SAMPLES 0
redis-cli -h redis1 -p 6379 OBJECT ENCODING kullanici:1001:sepet

Ne yapar?

Keyspace'i SCAN ile tarayarak tip başına en çok elemana ve en çok belleğe sahip key'leri raporlar; şüpheli bir key'in gerçek bellek tüketimini ve encoding'ini gösterir.

Ne zaman kullanılır?

Bellek beklenmedik şekilde arttığında, tek bir komutun (HGETALL, SMEMBERS, DEL) gecikme yarattığı veya cluster'da bir düğümün diğerlerinden fazla bellek kullandığı durumlarda.

Dikkat

Tarama SCAN kullanır ve sunucuyu bloklamaz ama tüm keyspace'i dolaşır; -i 0.01 her 100 SCAN çağrısında bekleyerek yükü azaltır. Büyük key'i DEL ile silmek ana thread'i bloklar; UNLINK kullan. MEMORY USAGE büyük koleksiyonlarda SAMPLES 0 ile O(N)'dir. Replika üzerinde çalıştırmak master'ı yormaz.

DBAtlas'ta aç →

İlgili