Memcached性能测试
Linux 下 Memcached安装 和 PHP 开启 Memcached 扩展这里就不多说了,网上很多可供参考,下面对启动memcached后对网站的性能提升做个简单的测试,以下是在长沙写字楼网启用memcached之前写一个测试代码:
header("content-type:text/html; charset=utf-8");
//数据初始化
$conn = mysql_connect(www.cslou.com,"test","test") or
die("长沙写字楼正在升级...");
mysql_select_db("test",$conn) or
die("长沙写字楼正在升级...");
mysql_query("set names utf8");
//memcached初始化
$memcache = new Memcached(); //创建一个memcache对象
$server =
array(array('10.165.10.115', 12000));
$memcache->addServers($server) or
die ("Could not connect"); //连接Memcached服务器
//删除memcached缓存
$memcache->delete('all_users');
//定义获取memcached缓存函数
function
getCache($memcache,$key,$datas,$sql){
//$key = md5($sql);
if(!($datas =
$memcache->get($key))){
//echo 'get value from
database
';
$result = mysql_query($sql);
while(($row =
mysql_fetch_array($result))!=false){$datas[] =
$row;}
$memcache->add($key,$datas);
}else{
//echo 'get value
from memcached
';
}
return $datas;
}
$sql = 'select * from user';
$start=microtime(true);
for($i=0;$i<10000;$i++){
foreach(getCache($memcache,'all_users',$datas,$sql)
as $data){
echo '';
}
}
echo '从memecached缓存获取一万次花费时间:';
echo
microtime(true)-$start;
echo '
';
echo '
';
echo
'----------------------------------';
echo '
';
echo '
';
$start=microtime(true);
for($j=0;$j<10000;$j++){
$result =
mysql_query($sql);
while(($row = mysql_fetch_array($result))!=false){echo
'';}
}
echo '从数据库获取一万次花费时间:';
echo microtime(true)-$start;
运行以上php代码,结果如下:
从memecached缓存获取一万次花费时间:0.708089113235
----------------------------------
从数据库获取一万次花费时间:1.07043385506
从运行结果可以看出在使用memcached前后,性能提高了30%左右,当然,这个简单的测试只是从运行时间考虑性能的提升,更多的性能测试我后续将会整理出来,敬请期待。
另外,以上php代码提供了PHP调用Memcached的示例,可供大家参考。
转载请注明出处。
浙公网安备 33010602011771号