缓存代理twemproxy安装测试

twemproxy的安装要求autoconf的版本在2.64以上,需要先安装新版autoconf

autoconf安装

	wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
	tar zxvf autoconf-2.69.tar.gz 
	cd autoconf-2.69
	./configure 
	make && make install
	cd ..

twemproxy的安装

	git clone https://github.com/twitter/twemproxy.git
	autoreconf -fvi  #生成configure文件
	./configure --prefix=/opt/twemproxy/ --enable-debug=log  
	mkdir -p /opt/twemproxy/{run,conf}  /data/logs/twemproxy/
	ln -s /opt/twemproxy/sbin/nutcracker /usr/bin/

 vim conf/nutcracker.yml   #编辑配置文件

		alpha:
		listen: 172.16.175.106:6379    #监听端口
		hash: fnv1a_64				   #key值hash算法,默认fnv1a_64
		distribution: ketama           #分布算法 		
#ketama一致性hash算法;modula非常简单,就是根据key值的hash值取模;random随机分布
		auto_eject_hosts: true         #摘除后端故障节点   
		redis: true                    #是否是redis缓存,默认是false
		timeout: 400                   #代理与后端超时时间,毫秒
		server_retry_timeout: 200000   #摘除故障节点后重新连接的时间,毫秒
		server_failure_limit: 1	       #故障多少次摘除
		servers:
		- 172.16.175.145:6379:1 
		- 172.16.175.122:6379:1 
		- 172.16.175.85:6379:1 
		- 172.16.175.168:6379:1

nutcracker -t -c /opt/twemproxy/conf/nutcracker.yml  

#测试配置文件 如果不加-c 默认是检测conf/nutcracker.yml

nutcracker -d -c /opt/twemproxy/conf/nutcracker.yml -p /opt/twemproxy/run/redisproxy.pid -o /data/logs/twemproxy/redisproxy.log        #启动

twemproxy测试

1.后端加机器会导致部分key丢失,机器加的越多,丢失率越高

2.自动摘除故障机器是根据配置来的:server_retry_timeout 是失败后间隔多少毫秒再连接;server_failure_limit 是失败多少次摘除(有个问题,摘除故障节点后,分布到此节点的key会分布到其他节点,当故障节点恢复后,key还是重新分布到故障节点)

3.如果启动多个nutcracker进程,需要-s指定监控端口,默认是22222

4.单台twemproxy比单redis性能略有下降,多台相同配置twemproxy同时提供请求比redis性能好,可以通过haproxy的tcp模式实现

5.key分布基本均匀,取1万个号码,执行set num num操作,4台redis分布key数量是2500左右


你可能感兴趣的:(twemproxy,缓存代理,安装测试)