標籤:redis分區儲存叢集
環境說明:
| twemproxy |
192.168.0.112:22122 |
centos6.5 |
| redis |
192.168.0.113:6379 |
centos6.5 |
| redis |
192.168.0.113:6380 |
centos6.5 |
twemproxy安裝:
[[email protected] src]# tar -zxf nutcracker-0.4.0.tar.gz [[email protected] src]# cd nutcracker-0.4.0[[email protected] nutcracker-0.4.0]# ./configure --prefix=/usr/local/nutcracker/[[email protected] nutcracker-0.4.0]# make && make install[[email protected] nutcracker-0.4.0]# cp -r conf scripts /usr/local/nutcracker/
配置環境變數:
[[email protected] nutcracker-0.4.0]# cd /etc/profile.d/[[email protected] profile.d]# vim twemproxy.sh #!/bin/sh#set Rutcracker environmentexport RUTCRACKER_HOME=/opt/phpdba/nutcracker-0.2.4export PATH=$RUTCRACKER_HOME/bin:$PATHsource twemporxy.sh
修改nutcracker設定檔:
[[email protected] nutcracker-0.4.0]# cd /usr/local/nutcracker/[[email protected] nutcracker]# vim conf/nutcracker.ymlalpha: listen: 0.0.0.0:22121 hash: fnv1a_64 distribution: ketama auto_eject_hosts: true #將出現故障的redis從叢集中移除 redis: true server_retry_timeout: 2000 server_failure_limit: 1 servers: - 192.168.0.112:6379:1 server1 - 192.168.0.113:6379:1 server2 - 192.168.0.113:6380:1 server3
設定檔說明
檢查設定檔文法
[[email protected] nutcracker]# nutcracker -c conf/nutcracker.yml -tnutcracker: configuration file ‘/opt/phpdba/nutcracker-0.2.4/conf/nutcracker.yml‘ syntax is ok
啟動:
[[email protected] nutcracker]# nutcracker -d -c /opt/phpdba/nutcracker-0.2.4/conf/nutcracker.yml
redis安裝請看主從配置中的安裝部分
效能測試
這裡使用redis內建的redis-benchmark進行簡單的效能測試,測試結果如下:
1.測試:
a.通過twemproxy測試:
[[email protected] nutcracker]# redis-benchmark -h 127.0.0.1 -q -t set,get,incr,lpush,lpop,sadd,spop,lpush,lrange -c 100 -p 22121 SET: 62972.29 requests per secondGET: 87336.24 requests per secondINCR: 85034.02 requests per secondLPUSH: 81699.35 requests per secondLPOP: 82987.55 requests per secondSADD: 85034.02 requests per secondSPOP: 87412.59 requests per secondLPUSH (needed to benchmark LRANGE): 80840.74 requests per secondLRANGE_100 (first 100 elements): 28384.90 requests per secondLRANGE_300 (first 300 elements): 9022.01 requests per secondLRANGE_500 (first 450 elements): 4810.00 requests per secondLRANGE_600 (first 600 elements): 3363.04 requests per second
b.通過對後端redis查看:
[[email protected] nutcracker]# redis-cli 127.0.0.1:6379> KEYS *1) "counter:__rand_int__"127.0.0.1:6379> [[email protected] nutcracker]# redis-cli 127.0.0.1:6379> KEYS *1) "mylist"2) "key:__rand_int__"
發現我們的測試資料分區到了兩個redis執行個體中。
2.查看索引值分布(分別在叢集後端的redis執行個體查看)
[[email protected] nutcracker]# redis-cli info|grep db0db0:keys=1,expires=0,avg_ttl=0[[email protected] nutcracker]# redis-cli info|grep db0db0:keys=1,expires=0,avg_ttl=0[[email protected] nutcracker]# redis-cli info|grep db0db0:keys=2,expires=0,avg_ttl=0
測試結果:以基本的命令通過twemproxy效能有所下降;通過twemproxy分布基本平均。測試資料以業務測試為準。
redis分區儲存叢集的搭建