现在的位置: 首页 > 综合 > 正文

memcached分布式hash策略测试

2013年09月18日 ⁄ 综合 ⁄ 共 3467字 ⁄ 字号 评论关闭

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。http://blog.csdn.net/mayongzhan - 马永占,myz,mayongzhan

 

配合memcache监控程序,测试memcache分布式,文章参考了网上某位牛人的文章。

测试crc32 fnv standard consistent 组合情况下的item分布情况及添加新服务器对现有item命中率的影响。

 

先开memcached服务器

#!/bin/bash
##############################
# MyZ 2009-07-12
# File:memcached_12.sh
##############################
port=11212
for (( i=11212; i<11224; i++ ))
do
 /usr/local/bin/memcached -u root -p $i -m 10 &
done

./memcached.sh

 

结论
使用memcache这种客户端下的方法保证分配均匀的基础下,存货率做高的是crc32+ consistent。

 

测试结果

//crc32 standard
192.168.1.101:11212 => items:9812
192.168.1.101:11213 => items:10153
192.168.1.101:11214 => items:9895
192.168.1.101:11215 => items:9985
192.168.1.101:11216 => items:10206
192.168.1.101:11217 => items:9958
192.168.1.101:11218 => items:10159
192.168.1.101:11219 => items:9941
192.168.1.101:11220 => items:9924
192.168.1.101:11221 => items:9967
192.168.1.101:11222 => items:0%
192.168.1.101:11223 => items:0%

 

//fnv standard
192.168.1.101:11212 => items:9911
192.168.1.101:11213 => items:9978
192.168.1.101:11214 => items:9928
192.168.1.101:11215 => items:10053
192.168.1.101:11216 => items:9952
192.168.1.101:11217 => items:10055
192.168.1.101:11218 => items:10013
192.168.1.101:11219 => items:10089
192.168.1.101:11220 => items:9947
192.168.1.101:11221 => items:10074
192.168.1.101:11222 => items:0
192.168.1.101:11223 => items:0

 

//crc32 consistent
192.168.1.101:11212 => items:12466
192.168.1.101:11213 => items:10175
192.168.1.101:11214 => items:8436
192.168.1.101:11215 => items:9118
192.168.1.101:11216 => items:11757
192.168.1.101:11217 => items:9208
192.168.1.101:11218 => items:10343
192.168.1.101:11219 => items:8417
192.168.1.101:11220 => items:8716
192.168.1.101:11221 => items:11364
192.168.1.101:11222 => items:0
192.168.1.101:11223 => items:0

 

//fnv consistent
192.168.1.101:11212 => items:9014
192.168.1.101:11213 => items:13178
192.168.1.101:11214 => items:10053
192.168.1.101:11215 => items:4302
192.168.1.101:11216 => items:10875
192.168.1.101:11217 => items:4906
192.168.1.101:11218 => items:15593
192.168.1.101:11219 => items:9993
192.168.1.101:11220 => items:8093
192.168.1.101:11221 => items:13993
192.168.1.101:11222 => items:0
192.168.1.101:11223 => items:0

 

 

用于检测memcache的程序配置部分

for ($i = 11212; $i < 11222; $i++) {
 $MEMCACHE_SERVERS[] = '192.168.1.101:'.$i; // add more as an array
}
$MEMCACHE_SERVERS[] = '192.168.1.101:11222'; // add more as an array
$MEMCACHE_SERVERS[] = '192.168.1.101:11223'; // add more as an array

 

测试代码

 

 

 

抱歉!评论已关闭.