Redis: co zjada pamięć i czas
Trzy komendy do namierzenia największych kluczy, faktycznego zużycia pamięci i tego, która komenda spowalnia serwer.
Największe klucze
redis-cli --bigkeys
Przechodzi SCAN-em po całej bazie i pokazuje największy klucz każdego typu.
Uwaga na jednostki: dla stringów liczy bajty, dla kolekcji liczbę elementów. Lista z milionem krótkich wpisów wyjdzie tu „większa” niż jeden string na 10 MB.
Ile to waży naprawdę
redis-cli --memkeys
To samo przejście, ale liczone przez MEMORY USAGE — czyli faktyczne bajty. Wolniejsze, za to
nie kłamie. Od Redisa 6.
Pojedynczy klucz:
redis-cli MEMORY USAGE klucz
Oba przejścia idą po całej przestrzeni kluczy. Na dużej bazie dorzuć -i 0.1, żeby robiły
przerwy między porcjami i nie obciążały serwera.
Statystyki komend
INFO commandstats
Ile razy każda komenda poszła i ile średnio zajęła (usec_per_call). Zwykle tu wychodzi, że
to nie Redis jest wolny, tylko ktoś wali KEYS w pętli.
Wyzerowanie liczników przed pomiarem:
CONFIG RESETSTAT