由于单台redis服务器的计算和内存管理能力有限,使用过大内存redis服务器的性能急剧下降。为了获取更好的缓存性能及扩展型,我们需要搭建redis集群来满足需求。因redis 3.0 beta支持的集群功能不适合生产环境的使用,所以我们采用twitter的twemproxy来搭建redis缓存服务器集群.
Twemproxy是memcached和redis协议的代理服务器,并能有效减少大量连接对redis服务器的性能影响.
安装步骤:
推荐版本2.8及以上
修改端口(可在启动时指定)
port 6379
采用纯内存模式,注释掉save指令.
#save 900 1 #save 300 10 #save 60 10000 #save 900 1000
调整内存大小
maxmemory 8g
设置密码(可在启动时指定)
requirepass foobared
redis-server ../conf/masters/redis.conf --logfile ../logs/masters/master-01.log --requirepass 'stream!23$' --port 6301
推荐使用 0.4.1 release
修改监听端口
listen: 0.0.0.0:6401
禁用自动剔除,保持hash一致性
auto_eject_hosts: false
设置redis超时
timeout: 2000 redis: true
设置redis密码
redis_auth: stream!23$
配置redis服务地址(集群中所有redis都要添加上)
servers: - 10.221.247.5:6301:1 server01 - 10.221.247.5:6302:1 server02 - 10.221.247.5:6303:1 server03 - 10.221.247.5:6304:1 server04 - 10.221.247.5:6305:1 server05 - 10.221.247.5:6306:1 server06 - 10.221.247.5:6307:1 server07 - 10.221.247.5
https://github.com/eleme/corvus/archive/0.2.5.1.zip
unzip corvus-0.2.5.1
https://github.com/jemalloc/jemalloc/archive/4.5.0.tar.gz
tar zxvf jemalloc-4.5.0.tar.gz
rm -r corvus-0.2.5.1/deps/jemalloc
mv jemalloc-4.5.0 corvus-0.2.5.1/deps/jemalloc
cd corvus-0.2.5.1/deps/jemalloc
autoconf
cd ../../
make
bind 5101
node 192.168.1.202:5001,192.168.1.202:5002,192.168.1.203:5001,192.168.1.203:5002,192.168.1.204:5001,192.168.1.202:5002
thread 4
/root/upload/corvus-0.2.5.1/src/corvus /root/upload/corvus-0.2.5.1/corvus.conf > corvus.log 2>&1 &
/root/upload/redis-3.2.8/src/redis-benchmark -p 5101 -q -t get,set -r 1000000 -n 2000000 -P 16 -c 10