Redis

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