Ubuntu 上 Redis 性能优化实操指南
一 系统层优化
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled,并在 /etc/rc.local 追加同命令以持久化。echo vm.swappiness=10 | sudo tee -a /etc/sysctl.conf。vm.overcommit_memory=1,提升 fork 成功率与稳定性:echo vm.overcommit_memory=1 | sudo tee -a /etc/sysctl.conf。LimitNOFILE=65536(或更高)。二 Redis 配置优化
maxmemory(如物理内存的 60–70%),策略优先 allkeys-lru 或 volatile-lru;开启惰性释放:lazyfree-lazy-eviction yes、lazyfree-lazy-expire yes、lazyfree-lazy-server-del yes、replica-lazy-flush yes。appendonly yes、appendfsync everysec、auto-aof-rewrite-percentage 100、auto-aof-rewrite-min-size 64mb;RDB 可按业务设置 save 900 1 300 10 60 10000。tcp-backlog 511、tcp-keepalive 300;按需设置 timeout(0 表示不超时)、maxclients 10000。client-output-buffer-limit replica 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60slowlog-log-slower-than 10000,单位微秒),必要时将事件循环频率 hz 提升到 100 以更快处理定时任务。三 客户端与访问模式优化
四 架构与扩展
repl-backlog-size 1gb、repl-backlog-ttl 3600,缩短故障恢复时间。五 监控验证与上线流程
redis-cli --stat 观察实时指标;配置慢查询日志定位问题命令;结合 RedisInsight 等可视化工具做容量与热点分析。sudo systemctl restart redis),变更失败可快速回滚;通过 sudo journalctl -u redis.service 查看启动与运行日志。