资讯专栏INFORMATION COLUMN

Centos下10000次循环测试php对Redis和共享内存(shm)读写效率

VPointer / 2667人阅读

摘要:和还有共享内存都是读取内存的数据,为了测试一下到底效率谁更胜一筹,我在我的虚拟机下做了一次公平的测试。

redis和memcache还有共享内存都是读取内存的数据,为了测试一下到底效率谁更胜一筹,我在我的Centos虚拟机下做了一次公平的测试。

测试参数

环境:Centos (配置忽略)、语言:PHP、WebServer:Nginx、测试次数:10000、字符类型及长度:字符串(1024)

准备测试

 
  array ("id" => "4146","attacksdfdsfdsffffdffffdffffddd" => "5.45","atk_class" => "神圣级","wufang" => "4.9","def_class" => "超神级","cefang" => "4.9","mdf_class" => "超神级","hp" => "6.43","hp_class" => "神王级","dodge" => "55","dodge_class" => "SSSS","crit" => "50","crit_class" => "SSS","penetrate" => "55","penetrate_class" => "SSSS","mingzhong" => "51","hit_class" => "SSSS","anti_dizziness" => "0","anti_dizzinesssdfdsfdsfdsfdsfds_class" => "F","anti_critical" => "20","anti_critical_class" => "F","tenacity" => "0","tenacity_class" => "F",
  ),
  2 => 
  array ("id" => "414ddffff7","attack" => "5.45","atk_class" => "神圣级","wufang" => "4.95","def_class" => "超神级","cefang" => "4.95","mdf_class" => "超神级","hp" => "6.43","hp_class" => "神王级","dodge" => "55","dodge_class" => "SSSS","crit" => "50","crit_class" => "SSS","penetrate" => "55","penetrate_class" => "SSSS","mingzhong" => "51","hit_class" => "SSSS","anti_dizziness" => "0","anti_dizziness_clsdfdsfdsfdsfdsfdsass" => "F","anti_critical" => "20","anti_critical_class" => "F","tenacity" => "0","tenacity_class" => "F",
  ));

$str = json_encode($arr);
echo strlen($str);          //输出1024

对redis进行10000次写入测试

connect("127.0.0.1",6379);
$redis->auth("310c8cabcdefghf2d8abcdefd44496ac80");
$start = microtime(true) ;

for($i = 0; $i<10000; $i++) {
    $redis->set("key", $str);
}
echo microtime(true) - $start;    //执行5次,大概平均结果为  1.7016470432281 秒

对共享内存(shm)进行10000次写入测试


对redis进行10000次读测试

connect("127.0.0.1",6379);
$redis->auth("310c8cabcdefghf2d8abcdefd44496ac80");
$start = microtime(true) ;

for($i = 0; $i<10000; $i++) {
    $redis->get("key");
}
echo microtime(true) - $start;     //执行5次,大概平均结果为 2.1236310005188 秒

对共享内存(shm)进行10000次读测试


结果清单

Redis 读:2.1秒 写:1.7秒

Shm 读:0.0021秒 写:0.0025 秒

可见,效果差别悬殊。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/61997.html

相关文章

  • Centos10000循环测试phpRedis共享内存(shm)读写效率

    摘要:和还有共享内存都是读取内存的数据,为了测试一下到底效率谁更胜一筹,我在我的虚拟机下做了一次公平的测试。 redis和memcache还有共享内存都是读取内存的数据,为了测试一下到底效率谁更胜一筹,我在我的Centos虚拟机下做了一次公平的测试。 测试参数 环境:Centos (配置忽略)、语言:PHP、WebServer:Nginx、测试次数:10000、字符类型及长度:字符串(102...

    kamushin233 评论0 收藏0
  • swoole_table 实现原理剖析

    摘要:受限于的实现,程序无法使用多线程进行编程开发。比如实现一个聊天室程序,用户在进程中处理,用户在进程中处理,和如果在同一个,这个在多线程环境中直接用表示,和加到对应的中即可。想要解决这个问题,必须实现一个基于共享内存的数据结构。 Swoole项目从 2012 年推出到现在已经有 5 年的历史,现在越来越多的互联网企业使用Swoole来开发各类后台应用。受限于 PHP 的ZendVM实现,...

    smartlion 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<