基础部分
redis.conf(修改部分)
bing ip
daemonize yes
pidfile /home/redis/pids/redis_6379.pid
logfile "/home/redis/logs/redis_6379.log"
databases 256
dir /home/redis/data/
masterauth "password"
slave-priority weight
requirepass "password"
sentinel.conf(修改部分)
bing ip
protected-mode no
daemonize yes
logfile "/home/redis/logs/sentinel_26379.log"
dir /home/redis/sentinel
sentinel auth-pass redis-cluster1 password
sentinel monitor redis-cluster1 172.16.13.3 6379 2
sentinel down-after-milliseconds redis-cluster1 3000
sentinel parallel-syncs redis-cluster1 1
sentinel failover-timeout redis-cluster1 2000
sentinel client-reconfig-script redis-cluster1 /home/redis/reconfig-cluster-1.sh
性能部分
1、关闭have Transparent Huge Pages (THP)
echo never > /sys/kernel/mm/transparent_hugepage/enabled
2、修改linux内核内存分配策略
sysctl vm.overcommit_memory=1
3、内存大小及淘汰算法
maxmemory 7730941132
maxmemory-policy volatile-lru
4、修改tcp-backlog(socket监听队列的值,根据实际需求调整)
sysctl net.core.somaxconn=1024
5、尽可能少的使用swap
sysctl vm.swappiness=0
性能测试
1、redis-benchmark -h 172.16.13.3 -p 6379 -c 100 -n 100000
100个并发连接,100000个请求,检测host为172.16.13.3 端口为6379的redis服务器性能,所有请求类型
2、redis-benchmark -h 172.16.13.3 -p 6379 -q -d 100
测试存取大小为100字节的数据包的性能
3、redis-benchmark -t set,lpush -n 100000 -q
只测试某些操作的性能
4、redis-benchmark -n 100000 -q script load "redis.call('set','foo','bar')"
只测试某些数值存取的性能
数据迁移
# 使用redis-migrate-tool进行数据迁移(支持各种集群到单机、集群到集群的迁移)
# 项目介绍 https://www.oschina.net/p/redis-migrate-tool
# github地址 https://github.com/vipshop/redis-migrate-tool
./src/redis-migrate-tool -c rmt.conf -o merge.log -C redis_migrate -d
以上为通用部分,具体数据结构优化等还需结合实际使用情况考虑。