redis 服务器优化 - 1990bingliu/redis GitHub Wiki
- 一般不超过CPU核数
- 采用CPU 核与redis进程绑定
- 如开启了aof,redis的最大使用内存*2 应小于 总内存
- 避免灾难性或消耗性能的语句(驱动层封闭,禁用如下指令)flushall 、keys、monitor(降低50%性能)
- 单线程机制,避免对单个key的高并发读取(业务层做内存缓存)
- 缓存服务建议关闭持久化,fork出的子进程会卡住主进程,导致瞬间的访问超时
- 需要aof的机器,建议预留一半内存,防止内存交换,aof还要关注硬盘空间,避免不足导致崩溃
- 因为Redis占用大内存,如果服务器有其它进程内存不足,可能导致系统杀死Redis以释放内存
$ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q
redis 性能测试工具可选参数如下所示:
序号 选项 描述 默认值
1 -h 指定服务器主机名 127.0.0.1
2 -p 指定服务器端口 6379
3 -s 指定服务器 socket
4 -c 指定并发连接数 50
5 -n 指定请求数 10000
6 -d 以字节的形式指定 SET/GET 值的数据大小 2
7 -k 1=keep alive 0=reconnect 1
8 -r SET/GET/INCR 使用随机 key, SADD 使用随机值
9 -P 通过管道传输 <numreq> 请求 1
10 -q 强制退出 redis。仅显示 query/sec 值
11 --csv 以 CSV 格式输出
12 -l 生成循环,永久执行测试
13 -t 仅运行以逗号分隔的测试命令列表。
14 -I Idle 模式。仅打开 N 个 idle 连接并等待。