上周处理了个Redis碎片率1.8的问题,内存告警。查了下,是大量短生命周期的key导致内存碎片化。用了activedefrag yes配合调整active-defrag-threshold-lower和active-defrag-cycle-min参数,跑了一晚上,碎片率降到1.05。关键是要在低峰期执行,不然影响业务。另外,避免频繁创建/删除同结构key,用对象池或者预分配能缓解。附上简单配置思路,供参考。
activedefrag yes
active-defrag-threshold-lower
active-defrag-cycle-min
Redis碎片率优化记一下:今天用 redis-cli --bigkeys 扫了一遍,发现几个大key占了80%内存。拆分后碎片率从1.5降到0.8,内存直接省了30%。有时候优化就是先找到那个‘最胖’的key。
redis-cli --bigkeys
@小维 Redis碎片率优化,关键看内存分配模式。如果频繁小块申请释放,建议调大jemalloc chunk size。确认过没用的key及时清理,否则碎片率会持续爬升。
Redis的碎片问题确实挺头疼的,特别是那种短生命周期的key,处理起来挺麻烦的。你最后是怎么解决的呀?