sql >> Database >  >> NoSQL >> Redis

Redis - geheugengebruik controleren

Geheugen is een kritieke bron voor Redis-prestaties. Gebruikt geheugen definieert het totale aantal bytes dat is toegewezen door Redis met behulp van zijn allocator (standaard libc, jemalloc of een alternatieve allocator zoals tcmalloc).

U kunt alle metrische gegevens over geheugengebruik voor een Redis-instantie verzamelen door "info memory" uit te voeren.

 
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

Soms, wanneer Redis is geconfigureerd zonder maximale geheugenlimiet, zal het geheugengebruik uiteindelijk het systeemgeheugen bereiken en begint de server "Onvoldoende geheugen" -fouten te veroorzaken. Op andere momenten is Redis geconfigureerd met een maximale geheugenlimiet, maar met een noeviction-beleid. Dit zou ervoor zorgen dat de server geen sleutels verwijdert, waardoor schrijfacties worden voorkomen totdat geheugen is vrijgemaakt. De oplossing voor dergelijke problemen zou zijn om Redis te configureren met maximaal geheugen en wat uitzettingsbeleid. In dit geval begint de server met het verwijderen van sleutels met behulp van het uitzettingsbeleid als het geheugengebruik het maximum bereikt.

Geheugen RSS (Resident Set Size) is het aantal bytes dat het besturingssysteem aan Redis heeft toegewezen. Als de verhouding van 'memory_rss' tot 'memory_used' groter is dan ~1,5, betekent dit geheugenfragmentatie. Het gefragmenteerde geheugen kan worden hersteld door de server opnieuw op te starten.



  1. Toegankelijkheid van de operationele database

  2. MongoDB-update met voorwaarde

  3. Redis haalt geen gegevens op uit de cache

  4. Op bereik gebaseerde paging mongodb