- 根据运行环境,正确设置AOF参数。以下的设置,延迟将逐渐降低
- AOF + fsync always
- AOF + fsync every second
- AOF + fsync every second + No-appendfsync-on-rewrite set to yes
- AOF + fsync never
- RDB
- batch command,以降低网络延迟。比如使用pipeline / MSET / MGET,但是要小心不要获取太多数据,以防止redis server内存使用过高
- 系统级别禁止使用huge page
- echo never > /sys/kernel/mm/transparent_hugepage/enabled
- 虽然ziplist可以降低内存使用,但是由于ziplist的实现,在删除/增加element的时候,都可能有大量的memory move,会造成延时提升。这个东西是一个双刃剑,要具体环境具体分析
- 客户端保持socket alive和使用connection pool,这样可以减少socket创建带来的延时
转载于:https://my.oschina.net/hailincai/blog/525092