码迷,mamicode.com
首页 > Web开发 > 详细

php memcache hash方法均衡性测试

时间:2015-04-02 11:50:51      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:php memcache hash方法均衡性对比 crc32 fnv


支持两种hash方法: crc32 fnv

配置如下: 

;  Hash function {crc32, fnv}

memcache.hash_function=fnv


set key脚本: 

<?php

$cluster = array(
	array(‘host‘ => ‘127.0.0.1‘, ‘port‘ => ‘11211‘),
	array(‘host‘ => ‘127.0.0.1‘, ‘port‘ => ‘11212‘),
	array(‘host‘ => ‘127.0.0.1‘, ‘port‘ => ‘11213‘),
	array(‘host‘ => ‘127.0.0.1‘, ‘port‘ => ‘11214‘),
	array(‘host‘ => ‘127.0.0.1‘, ‘port‘ => ‘11215‘),
	);

$memcache = new Memcache;
foreach ($cluster as $mc) {
	$host = $mc[‘host‘];
	$port = $mc[‘port‘];
	if ($memcache->addServer($host, $port)) {
		echo "Add $host:$port to cluster\n";
	} else {
		echo "Failed to add $host:$port to cluster\n";
	}
}

$ok = 0;
for ($n=1; $n <= 200000 ; $n++) { 
	$key = "k".$n;
	if (! $memcache->set($key, 1)) {
		echo "Failed to set $key\n";
	} else {
		$ok ++;
	}
	if ($n % 100 == 0) {
		echo "Completed set $n key to cache\n";
	}
}

echo "Set OK: $ok\n";
$memcache->close();

?>


启动cache脚本:

#!/bin/bash

pkill memcached
if [ $? == 0 ];then
	echo "kill all memcached"
else
	echo "failed to kill cached"
	exit 1
fi
memcached -d -p 11211 -u memcached -m 64 -c 1024 &
memcached -d -p 11212 -u memcached -m 64 -c 1024 &
memcached -d -p 11213 -u memcached -m 64 -c 1024 &
memcached -d -p 11214 -u memcached -m 64 -c 1024 &
memcached -d -p 11215 -u memcached -m 64 -c 1024 &

sleep 1
ps aux | grep memcached


结果检查脚本:

#!/bin/bash

T11211=`echo stats | nc 127.0.0.1 11211 | grep cmd_set | awk ‘{print $3}‘`
T11212=`echo stats | nc 127.0.0.1 11212 | grep cmd_set | awk ‘{print $3}‘`
T11213=`echo stats | nc 127.0.0.1 11213 | grep cmd_set | awk ‘{print $3}‘`
T11214=`echo stats | nc 127.0.0.1 11214 | grep cmd_set | awk ‘{print $3}‘`
T11215=`echo stats | nc 127.0.0.1 11215 | grep cmd_set | awk ‘{print $3}‘`

echo "11211 = $T11211"
echo "11212 = $T11212"
echo "11213 = $T11213"
echo "11214 = $T11214"
echo "11215 = $T11215"



最终结果对比:

crc32:

11211 = 51180

11212 = 47519

11213 = 26179

11214 = 29082

11215 = 46040


fnv:

11211 = 47085

11212 = 35358

11213 = 49721

11214 = 18787

11215 = 49049


php memcache hash方法均衡性测试

标签:php memcache hash方法均衡性对比 crc32 fnv

原文地址:http://305105.blog.51cto.com/295105/1627576

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!