V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pein
V2EX  ›  PHP

谁能说一下, thinkphp 的性能究竟什么水平?

  •  
  •   pein · 2015-05-14 14:28:56 +08:00 · 11528 次点击
    这是一个创建于 3269 天前的主题,其中的信息可能已经有所发展或是发生改变。

    http://ww1.sinaimg.cn/mw690/69e23056gw1es3r9zs2cqj20k00d20ty.jpg
    如图,TP官网上有个机智的小伙伴问了这个问题,然后官方给的回答很暧昧,让人不禁浮想联翩。。。那么,这个“一比较会吃一惊”是什么意思呢?
    在网上搜索TP相关性能测试,有的反映性能还不错,有的却显示性能比较差,到底是什么情况我迷糊了

    29 条回复    2015-06-11 10:32:21 +08:00
    cevincheung
        1
    cevincheung  
       2015-05-14 14:31:14 +08:00
    任凭框架再怎么牛逼,不同的人用有不同的效果。不必纠结这些, 适合自己就好。
    测试一个hello world没什么意义。
    pein
        2
    pein  
    OP
       2015-05-14 14:35:21 +08:00
    @cevincheung 嗯,说得很对。但是我到一个对比测试显示TP比CI将近差了10倍,我感觉这有些夸张?
    http://www.cnblogs.com/qzzm/p/4307388.html
    b821025551b
        3
    b821025551b  
       2015-05-14 14:36:53 +08:00
    看你怎么用。任凭再牛逼的宝刀,拿来切菜也会生锈。
    neoblackcap
        4
    neoblackcap  
       2015-05-14 14:37:53 +08:00
    同楼上,别人的测试没有很大的实际意义。要测试要自己根据自己的运行环境进行测试,否则别人就100pv/日你倒是1000W pv/日,这样别人说性能不错,对你有意义吗?
    feimengv
        5
    feimengv  
       2015-05-14 14:47:29 +08:00
    合适自己才是好的,你熟悉TP就用TP好了,但是能玩出水平,能够在代码上面优化也是不错!
    pein
        6
    pein  
    OP
       2015-05-14 14:48:35 +08:00
    @neoblackcap 我原以为CI和TP应该差不多的,大家经常放一起谈的嘛,但相同环境和配置下,两者ab压测横向对比性能竟然相差10倍,这让我比较惊讶
    Pastsong
        7
    Pastsong  
       2015-05-14 14:52:19 +08:00
    在没有遇到瓶颈之前可以不用太在意性能
    WildCat
        8
    WildCat  
       2015-05-14 14:55:44 +08:00   ❤️ 5
    PHP 核心开发者 Laruence(鸟哥)在 QCon 2015 上说了这么一段话(大意):

    我曾经用了PHP和某高级语言做 hello world 的 benchmark ,结果某高级语言胜过 PHP 一个数量级。
    然后我分别添加了一条 SQL 查询,它们变成了一个数量级,但是某高级语言还是比 PHP 快两三倍。
    然后又加到 10 条 SQL 查询,他们几乎没区别了。
    server
        9
    server  
       2015-05-14 14:56:57 +08:00   ❤️ 1
    性能在于写代码的人
    pein
        10
    pein  
    OP
       2015-05-14 15:04:56 +08:00
    @WildCat 好吧。看来得再加几句SQL试试=。=
    xuwenmang
        11
    xuwenmang  
       2015-05-14 15:07:17 +08:00
    够你用到娶白富美的
    coosir
        12
    coosir  
       2015-05-14 15:22:42 +08:00
    不出意外的话,足够支撑你的业务起步。
    在你已经熟悉TP并打算使用的前提下,性能真的没你想得那么重要,just do it
    pein
        13
    pein  
    OP
       2015-05-14 15:30:35 +08:00
    @b821025551b
    @feimengv
    @Pastsong
    @server
    @xuwenmang
    @coosir
    感谢,看来还是不纠结那么多了,just do it
    顺便吐槽一下Yii的写法简直反人类,所以最近研究Laravel去了。。
    justfindu
        14
    justfindu  
       2015-05-14 15:35:30 +08:00   ❤️ 1
    @pein 你研究了一个更反人类的东西么 - -
    lloovve
        15
    lloovve  
       2015-05-14 15:36:15 +08:00 via Android
    SQL多了就持平明显是数据库的性能不足,要是数据库性能都高了在比
    yakczh
        16
    yakczh  
       2015-05-14 15:57:49 +08:00
    tp性能虽然差,但是比yii要强
    fxxkgw
        17
    fxxkgw  
       2015-05-14 16:05:40 +08:00
    CL不就是用的这个么。。
    neoblackcap
        18
    neoblackcap  
       2015-05-14 16:20:55 +08:00
    @pein 像楼上所说,加10个SQL性能就没有区别了,纠结这些没什么意义。大家都说性能,但是90%的我们都没有碰到真正的性能问题(老板要你用一百块钱做个淘宝的那就当我没说)
    Yuansir
        19
    Yuansir  
       2015-05-14 16:24:22 +08:00
    其实到一定的负载的时候往往性能瓶颈不在框架本身或者只是优化框架就能解决的
    knightlhs
        20
    knightlhs  
       2015-05-14 16:46:45 +08:00   ❤️ 1
    用框架的意义在于 安全性 稳定性 跟 开发效率
    一般来说跑 PHP 的服务器性能跟配置都不会太高 不会让你跑到上限的
    等你真正业务有这么大的量级的时候 你早重构了

    那时候还不一定用的是不是 PHP 了
    所以一开始没必要这么纠结
    口碑可以 上手快 就OK了 不过吐槽下 TP 我个人不习惯 反倒是 CI 对我来说当初学习曲线比较低
    yuankui
        21
    yuankui  
       2015-05-14 17:23:14 +08:00
    php 就不要纠结性能了...

    而且大部分性能瓶颈都不在 web 层.
    何必呢?
    sampeng
        22
    sampeng  
       2015-05-15 11:01:05 +08:00
    这么说吧。。80%写thinkphp的,性能都高不到哪去。。。因为他们压根不考虑数据库的压力。不考虑其他方面的问题。。只纠结语言的性能损耗。。。你就是用c写,不考虑这些压力问题。一样卡得跪下唱征服
    jhdxr
        23
    jhdxr  
       2015-05-15 16:23:03 +08:00
    看过thinkphp的源码,的确不注重性能,比如很多东西明明可以直接写的非要用魔术方法完成,之前也向官方提过但没有采纳。
    但是,优化性能的时候请先找出瓶颈。一般来说网站的性能瓶颈都是在IO上(数据库、网络连接)。。。
    很多人上来就喜欢性能第一(没错我就是吐槽之前某个找性能第一的框架的),的确逼格满满。但性能这东西和你的业务、和你的规模等等都是密切相关的。。。不要提前优化。。。
    orvice
        24
    orvice  
       2015-05-15 16:29:55 +08:00
    thinkphp也算大型框架了,和同类型框架比效率在不高也是同一个级别的吧。。而且性能一般也不在框架。。。用tp等php大框架都没必要纠结性能
    miaotaizi
        25
    miaotaizi  
       2015-05-27 00:16:54 +08:00
    你该不会是 胡杨 吧?
    pein
        26
    pein  
    OP
       2015-05-27 08:33:37 +08:00
    @miaotaizi 我去。。来者何人?
    lbp0200
        27
    lbp0200  
       2015-05-27 12:28:52 +08:00 via Android
    laravel是性能最差的,那又怎么样?
    biu1024
        28
    biu1024  
       2015-06-11 09:19:50 +08:00
    你用过TP的关联模型你就知道了。
    tips:使用关联模型的关联查询,然后去看log里的sql语句。。。你会回来的。
    pein
        29
    pein  
    OP
       2015-06-11 10:32:21 +08:00
    @biu1024 从来没用过关联模型啊,都是自己写联合查询的,看来这个可以利用一下,学习了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1078 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:58 · PVG 02:58 · LAX 11:58 · JFK 14:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.