php memcache hash方法均衡性测试
2015-04-02 10:26
148 查看
支持两种hash方法: crc32 fnv
配置如下:
; Hash function {crc32, fnv}memcache.hash_function=fnv
set key脚本:
启动cache脚本:
结果检查脚本:
最终结果对比:
crc32:
11211 = 5118011212 = 4751911213 = 2617911214 = 2908211215 = 46040
fnv:
11211 = 4708511212 = 3535811213 = 4972111214 = 1878711215 = 49049
配置如下:
; 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 = 5118011212 = 4751911213 = 2617911214 = 2908211215 = 46040
fnv:
11211 = 4708511212 = 3535811213 = 4972111214 = 1878711215 = 49049
相关文章推荐
- 测试Php Mysql运行环境的方法
- MemCache在php中的一些应用和使用方法的小测试
- PHP编程语言介绍及安装测试方法
- PHP编程语言介绍及安装测试方法
- PHP中通过ADO调用Access数据库的方法测试不通过
- 举例详解PHP脚本的测试方法
- 测试PHP preg_match()函数信息泄露方法介绍
- PHP学习笔记,curl,file_get_content,include和fopen四种方法获取远程文件速度测试.
- PHP中用jQuery 的操作POST方法提交数据(用login测试)
- PHPUnit PHP测试框架安装方法
- Win7下PHP测试环境搭建最佳方法(phpunit/selenium)
- php打包zip文件,完整实例(附类,附调用方法),已经测试OK的
- PHP教程:PHPUnit学习笔记(三)测试方法进阶
- 无聊测试下php5多重继DEMO简单实现方法
- 压力测试下提升PHP系统的性能的方法
- 已解决:好用的集成PHP环境 一键安装包PHPNow--Win7下安装phpnow的方法出现[ Apache_pn ] 错误的解决 !(亲自测试通过)
- PHP各种魔术方法测试
- PHP防范SQL注入的具体方法详解(测试通过)
- 系统中有两个version的PHP存在,导致phpunit测试出现问题的解决方法