基於Twemproxy的Redis集羣方案部署


1、安裝redis。

2、在一臺機器上搭建多個redis實例

需要啓動多個Redis實例:

一臺Redis服務器,分成多個節點,每個節點分配一個端口(6380,6381…),默認端口是6379。

每個節點對應一個Redis配置文件,如: redis6380.conf、redis6381.conf

#cp redis.confredis6380.conf

#vi redis6380.conf

pidfile : pidfile/var/run/redis/redis_6380.pid

port 6380

logfile : logfile/var/log/redis/redis_6380.log

rdbfile : dbfilenamedump_6380.rdb

 

(其他配置文件類似修改)

啓動多個redis實例:

#redis-server /usr/local/redis/redis6380.conf

#redis-server /usr/local/redis/redis6381.conf

3、啓動上一步配置的實例。

4、安裝twemproxy 。

$ git clone [email protected]:twitter/twemproxy.git

$ cd twemproxy

$ autoreconf -fvi

$ ./configure --enable-debug=full

$ make

$ src/nutcracker -h

5、添加位置文件:/usr/local/twemproxy/conf/nutcracker.yml

beta:

  listen: 127.0.0.1:22122

  hash: fnv1a_64

  hash_tag: "{}"

  distribution: ketama

  auto_eject_hosts: false

  timeout: 400

  redis: true

  servers:

   - 127.0.0.1:6379:1 server1

   - 127.0.0.1:6380:1 server2

   - 127.0.0.1:6381:1 server3

6、啓動twemproxy服務。

nutcracker -t 測試配置文件

nutcracker -d -c /usr/local/twemproxy/conf/nutcracker.yml -p /usr/local/twemproxy/run/redisproxy.pid -o /usr/local/twemproxy/run/redisproxy.log

7、測試twemproxy:

src/redis-cli -p 22122

127.0.0.1:22122> get aaa

(nil)

127.0.0.1:22122> set aaa 888

OK

127.0.0.1:22122> get aaa

"888"

測試ok。


7、性能測試

這裏使用redis自帶的redis-benchmark進行簡單的性能測試,測試結果如下:


Set測試:

通過twemproxy測試:

src/redis-benchmark  -h  127.0.0.1 -p 22122 -c 100 -t set -d 100 -l -q

SET: 42808.22 requests per second

直接對後端redis測試:

src/redis-benchmark  -h  127.0.0.1 -p 6379 -c 100 -t set -d 100 -l -q

SET: 62578.22 requests per second


Get測試:

通過twemproxy測試:

src/redis-benchmark  -h  127.0.0.1 -p 22122 -c 100 -t get -d 100 -l -q

GET: 39169.61 requests per second

直接對後端redis測試:

src/redis-benchmark  -h  127.0.0.1 -p 6379 -c 100 -t get -d 100 -l -q

GET: 57736.72 requests per second

查看鍵值分佈:

redis-cli info|grep db0

db0:keys=50141,expires=0,avg_ttl=0


redis-cli info|grep db0

db0:keys=50868,expires=0,avg_ttl=0


測試結果:以基本的set get命令通過twemproxy性能下降有點嚴重,據官網說明性能下降20%左右,具體原因還在分析;通過twemproxy分佈基本平均。實際測試數據以業務測試爲準。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章