heiyeluren的blog(黑夜路人的开源世界)

关注LAMP,Web开发,OpenSource,系统架构

谢华亮ID:heiyeshuwu
825442次访问,排名36好友26人,关注者56
既然决定远行,便只顾风雨兼程。
heiyeshuwu的文章
原创 277 篇
翻译 3 篇
转载 199 篇
评论 497 篇
heiyeluren的公告

联系方式:


访问统计: free hit counter code
FeedSky订阅:
FeedSky订阅
最近评论
heiyeshuwu:回复楼上:
没有办法,呵呵,hash表嘛,自然是点到点的。理论上来说,是可以支持 next 和 pre 操作的,但是按照某个前缀来检索估计悬,那就是比较强大的数据库了,呵呵。
Peng:现在有个问题:
当缓存了大量的数据时,我想更新其中的一部分.不是每个键名都知道,所以不能一个个去删除,.但要更新的KEY都有共同的前缀,不知有什么好的思路没有?
要是能得到所有缓存的KEY名列表就好了,这样就可根据KEY名来更删除想要更新的那部分缓存
happyfish100:是的,tracker和storage这两个角色可以部署到一台服务器上。
yuzhu:tracker storage 应该可以部署到一台服务器吧。
wildlily980:谢谢分享。
文章分类
收藏
    相册
    技术图片
    搜索引擎
    ::eYou::
    kevin world
    lewis - 老吕
    qyb - BT的花
    Realzay的blog
    叶金荣
    天堂地狱鬼-dulao5's Blog
    沙漠之周
    狐狸糊涂
    老韩
    與子觀化
    ::Yahoo::
    glemir’s blog
    happy_fish - 分布式文件系统FastDFS
    Rainx
    stauren
    互联网,请记住我 - 162同学的技术博客
    小蚂蚁同学滴测试博客
    张彪同学
    随网之舞 - kaven的DHTML博客
    ::朋友::
    【推荐】中文分类网
    DDR的博客
    kevin world
    miky
    俺兄弟的blog
    冰河的技术博客:心随风动
    小少的技术博客
    无尘居
    晋陵路人的Blog
    李天华同学滴技术博客
    沙狐部落
    ::网友::
    Code & Stock.
    LionD8的Blog
    Phzzy
    张贺同学的博客
    技术大牛老余的博客
    抚琴居
    程序人生
    邢红瑞的blog
    阿健的博客
    :PHP博客:
    .: Easy style :.
    [琴剑楼]
    CoolCode.cn
    Haohappy的Blog
    Hightman
    iwind的blog
    Javascript开发站
    JD Space
    Nio's Weblog
    Open Source PHP
    PHP面对对象
    SourceForge.net
    trip的专栏
    UGIA.cn
    windix's blog
    Windix's Weblog
    一个藏袍
    俊麟 Michael`s blog
    偶然的blog
    刘敏的blog
    大龄青年的Blog
    廖宇雷的blog
    懒猫开始新生活blog
    某人的栖息地
    王春生的博客
    神仙
    :牛人blog:
    DBA notes
    http://blog.csdn.net/tingya/
    侯捷网站
    孟岩
    搜索引擎研究
    方舟
    王咏刚的BLOG
    竹笋炒肉
    荣耀
    车东[Blog^2]
    透明思考
    陈硕的Blog
    DHTML
    DHTMLGoodies
    FCKEditor
    Google Code
    Google Web Toolkit
    HTML Goodies
    HTML.it
    HTMLAre
    HTMLdog
    JavaScript Kit
    jQuery
    KindEditor
    Prototype
    TinyMCE
    W3 Schools
    Yahoo JavaScript Developer Center
    Yahoo! Developer Network
    Yahoo! UI Library (YUI)
    网页设计师Web标准
    Java国内站
    ChinaJavaWorld.com技术论坛
    IBM developerWorks 中国: Java
    Java中文站
    Java开源大全
    Java爱好者
    JR - Java翻译站
    J道-JDON
    Matrix: 与Java共舞
    中国Java开发网
    中文java技术网
    PHP国内站点
    CSDN PHP论坛
    Discuz!
    FleaPHP
    Google--PHP用户组
    IBM DeveloperWorks
    JavsScript技术讨论
    Nirvana Studio
    OpenPHP.cn
    PHPChina
    TiM Club
    中文 PFC 1.0 手册--PHP5的开发包
    中文 PFC 1.0 手册--PHP5的开发包
    中文PHP网
    太平洋--PHP开发区
    爱MySQL
    超越PHP
    PHP国外站点
    ADOdb
    Agavi Framework
    Cake PHP
    MySQL Performance Blog
    MySQL Performance Blog
    Nonaweb
    PEAR
    PECL
    PECL Windows
    PHP Builder
    PHP Classes
    PHP Classes
    PHP New Download
    PHP Security Consortium
    php.MVC
    php.MVC
    PHPkitchen(OO & MVC)
    phpPatterns
    PHP国外图书下载
    smart template
    Smarty
    SourceForge.net
    Symfony Framework
    Zend
    Zend Framework
    Unix C/C++
    Free Gentux
    周立发的blog(Linux C)
    Unix/Linux
    BSD智库
    ChinaUnix
    FreeBSDChina
    FreeLAMP
    IBM开发者Linux专区
    Linux Byte
    LinuxKit
    LinuxTS
    Linux伊甸园
    Linux技术中坚站
    Linux非常空间
    Love Unix
    NetBSD&OpenBSD中文用户组
    NetBSD中国社区
    Oracle中国用户讨论组
    OurLinux
    Unix中文
    Unix中文
    Unix中文宝库
    中国Linux公社
    中国Unix用户技术论坛
    中文FreeBSD用户组
    永远的Unix
    炎黄角马
    程序设计
    CSDN
    IBM开发者中心
    Microsoft TechNet: 主页
    MSDN 中文网站
    PHP中文站
    Sun技术社区
    中国IT认证实验室--企业应用技术
    中国协议分析网
    喜悦国际村
    太平洋电脑网---开发特区
    实用网站
    veBook(国外大量免费图书下载网站)
    Whois.net
    中国Web信息博物馆
    中国互联网络信息中心whois查询
    服务器系统信息查看
    网络安全
    AnySide.com
    CGI Secutiry
    K-OTik Security Monitoring
    Linux Security
    Packet Storm Security
    PHP Secure
    RFC中文文档索引
    Safemode.org
    SecuriTeam.com
    Security Corporation
    SecurityFocus
    SecurityTracker
    Zone-h (区域黑客,每天公布各国被黑的网站)
    中华安全网
    中国信息安全组织
    国家计算机网络应急处理中心
    安全天使
    安全焦点
    幻影旅团
    绿盟科技
    网络安全评估中心(cnns )
    在线手册
    Apache2.0中文文档
    Beyond Linux From Scratch
    Debian参考手册
    FreeBSD Porter 手册
    FreeBSD使用手册
    Linux C函数中文参考手册
    MySQL 4.1.0 中文参考手册
    NetBSD在线手册
    OpenBSD在线FAQ
    PHP ADODB 1.99版手册中文翻译(Tripc)
    PHP中文手册(国内)
    PHP中文手册(国外)
    PostgreSQL中文文档
    Red Hat Linux 9入门指南
    Red Hat Linux 9安装指南
    Red Hat Linux 9定制手册
    中国OSS技术手册中心
    技术文档手册中心-ChinaUnix
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 [原创]PHP4和PHP5性能测试和对比收藏

    新一篇: [感悟] 纪念我在CSDN写博三年整 | 旧一篇: [转] 贴Snoopy.class.php代码学习参考



    PHP4和PHP5性能测试和对比

    作者:heiyeluren
    博客:
    http://blog.csdn.net/heiyeshuwu
    时间:2007年8月6日


    PHP 4到今年年底PHP Group将不再对其进行支持了,所以为了让大家更有信心的转移到PHP 5平台上,我特别做了这个测试,看看我们PHP 4.x 是否真的性能比我们的PHP 5.x要好捏,测试结果很明显,那就是PHP 5.x 比php 4.x不论是面向对象还是面向过程,都要比PHP 4.x 要快,所以大家完全有必要转移到PHP 5.x 平台上,去体验PHP 5.x 平台的各种功能和性能。

    因为PHP 5 包括新的对象模型,更多新特点,更快的处理速度,特别是处理面向对象代码的速度,虽然在php 4中面向对象代码的速度比较一般,但是在PHP5.x中面向对象代码的速度都超过了面向过程的速度,所以不要对面向对象的性能持有怀疑,下面的测试结果将说明这一切。

     

    【测试环境】

    • CPU:       Intel Pentium4 2.66GHz
    • Memory: 1GB
    • Disk:       73GB/SCSI
    • OS:          FreeBSD 4.11
    • Web:       Apache 1.3.37
      测试工具:ab (也可以选用http_load)
      名词RPS:  Requests per second (每秒的请求数量)

    相关
    测试工具:ab (也可以选用http_load)
    名词RPS:  Requests per second (每秒的请求数量)



    【PHP 4.4.2 测试结果】

    [ 函数 Function ]

    <?php
    function signin(){
      echo "test";
    }
    signin();
    ?>

    测试结果:ab -n 10000 -c 50 的结果是1047.23/rps


    [ 类 Class ]

    不实例化类
    <?php
    class User{
        function signin(){
            echo "test";
        }
    }
    User::signin();
    ?>

    测试结果:ab -n 10000 -c 50 的结果是 1034.98/rps


    实例化类
    <?php
    class User{
        function signin(){
            echo "test";
        }
    }
    $user=new User();
    $user->signin();
    ?>

    测试结果:ab -n 10000 -c 50 的结果是 1006.14/rps


    类的继承
    <?php
    class AUser{
         function signin(){}
    }
    class User extends Auser{
        function signin(){
            echo "test";
        }
    }
    $user=new User();
    $user->signin();
    ?>

    测试结果:ab -n 10000 -c 50 的结果是 992.95/rps

     

     

    【PHP 5.2.1测试结果】

    [ 函数 Function ]

    <?php
    function signin(){
      echo "test";
    }
    signin();
    ?>

    测试结果:ab -n 10000 -c 50 的结果是 1176.06/rps


    [ 类 Class ]

    不实例化类
    <?php
    class User{
        public function signin(){
            echo "test";
        }
    }
    User::signin();
    ?>

    测试结果:ab -n 10000 -c 50 的结果是 1197.17/rps

    实例化类
    <?php
    class User{
        public function signin(){
            echo "test";
        }
    }
    $user=new User();
    $user->signin();
    ?>

    测试结果:ab -n 10000 -c 50 的结果是 1187.93/rps


    类的继承和抽象
    <?php
    abstract class AUser{
        abstract function signin();
    }
    class User extends Auser{
        public function signin(){
            echo "test";
        }
    }
    $user=new User();
    $user->signin();
    ?>

    测试结果:ab -n 10000 -c 50 的结果是 1128.54/rps

     

    【测试结果和分析】

    [ 测试结果数据 ]

    版本 函数测试 不实例化类 实例化类 类的继承
    PHP 4.4.2 1047.23/rps  1034.98/rps  1006.14/rps  992.95/rps
    PHP 5.2.1 1176.06/rps  1197.17/rps   1187.93/rps  1128.54/rps

     

     

     

     


    [ 结果分析 ]

    1. 总体来说,可以明显刚看到PHP5.2 的性能要比 PHP4.4略高一点,所以不要怀疑PHP5.2的性能会差,明显比 PHP4要快
    2. PHP4.4中的类的解析性能明显要比函数的要慢,特别是当使用了继承以后,更是下降的厉害,所以在PHP4.4中更适宜使用面向过程和没有继承的类操作
    3. PHP5.2中结果是类的执行速度比函数还要快,可以看出PHP5.2的引擎对面向对象处理花费了很大的功夫,同时他们不论是函数还是类,性能都不错
    4. 通过这个测试,我们完全有理由在代码变更不大的情况下,把PHP4升级到PHP5,而且PHP5基本向下兼容PHP4的代码,除了一些特殊的代码。另外上面提到今年年底之后PHP Group将不再继续对PHP4进行维护了,所以早升级,早安心。

    PS: 感谢同事健祥同学提供部分测试代码

     

    发表于 @ 2007年08月05日 00:09:00|评论(loading...)|编辑

    新一篇: [感悟] 纪念我在CSDN写博三年整 | 旧一篇: [转] 贴Snoopy.class.php代码学习参考

    评论

    #zzmsl 发表于2007-08-07 10:08:39  IP: 116.11.151.*
    php的代码,说真的,看得不习惯。
    #Thaiki 发表于2007-08-07 10:26:19  IP: 218.72.67.*
    不错不错!呵呵,相当可以!
    #呵呵 发表于2007-08-08 10:15:58  IP: 61.171.255.*
    现在不都是写php4的代码,然后再php5下测试,最后又发布到php4的服务器上
    #jun4rui 发表于2007-08-08 11:07:55  IP: 220.168.248.*
    用echo循环来说性能,这个………………
    太没有说服力了吧?从来没有见那个C语言测试,用print来论高下的……
    #ah__fu 发表于2007-08-08 11:44:07  IP: 218.17.227.*
    echo是IO啊!
    不应该把IO作为性能测试的一部分。
    应该做整数运算、浮点数运算和字符串运算来测试性能!
    #heiyeluren 发表于2007-08-08 12:40:59  IP: 202.165.107.*
    这个主要是测试PHP脚本引擎的性能,跟IO之类的关系不大,因为都是一个文件,不论是PHP4还是PHP5,存取的都是一个文件,所以两者是平等的。更对是考虑这两个引擎对脚本代码的执行能力的测试,至于其他运算能力(整数、浮点、字符串),PHP4和PHP5应该都是差不多的,主要是考虑一些特殊性能,大家比较关心的,比如函数调用,面向对象等等。
    #Ben 发表于2007-08-19 22:49:58  IP: 222.67.17.*
    PHP 5 源码中的 Zend 目录下有 bench.php,可作为典型测试文件。
    #Amber 发表于2007-08-29 17:28:12  IP: 202.104.106.*
    能解释一下为什么用Apache 1.3.37 ,而不是Apache 2.x呢?
    #Antonios 发表于2007-08-31 18:51:32  IP: 83.230.224.*
    interesting
    #Kris 发表于2007-08-31 23:07:09  IP: 200.67.31.*
    Nice
    #Ioannis 发表于2007-09-01 02:51:46  IP: 164.100.42.*
    interesting
    #Stephanos 发表于2007-09-01 03:25:42  IP: 68.180.195.*
    Nice...
    #Fotis 发表于2007-09-01 09:40:33  IP: 66.232.125.*
    Nice
    #Lambros 发表于2007-09-01 17:12:44  IP: 66.232.125.*
    Nice!
    #Aiakos 发表于2007-09-01 19:05:42  IP: 66.232.125.*
    Sorry :(
    #Constandinos 发表于2007-09-02 03:15:28  IP: 66.232.123.*
    Nice!
    #Gregorios 发表于2007-09-02 09:19:18  IP: 66.232.125.*
    Nice...
    #Sergios 发表于2007-09-02 13:56:25  IP: 66.232.123.*
    Cool!
    #Gustas 发表于2007-09-02 18:53:23  IP: 66.232.125.*
    Nice!
    #Prokopios 发表于2007-09-02 18:56:48  IP: 128.6.210.*
    Nice...
    #Themestoclis 发表于2007-09-03 03:58:36  IP: 66.232.123.*
    Sorry :(
    #Xenophon 发表于2007-09-03 05:36:54  IP: 66.232.114.*
    Nice
    #Adamantios 发表于2007-09-03 06:28:35  IP: 66.232.125.*
    Sorry :(
    #Kris 发表于2007-09-03 12:31:14  IP: 66.232.123.*
    Cool.
    #Ptu123 发表于2008-05-17 12:51:36  IP: 121.62.12.*
    我听说PHP5的资源占用比PHP4要大很多,不知道有没有这方面的测试?好像是月光博客里写的,题目好像是和虚拟主机cpu占用率有关系,你去看看吧
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © heiyeluren