PHP 框架 ci 和 laravel 的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
moji2016
V2EX    PHP

PHP 框架 ci 和 laravel 的问题

  •  
  •   moji2016 2015-12-18 15:52:10 +08:00 6134 次点击
    这是一个创建于 3593 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们用 laravel 或 ci 框架中的数据库配置,然后在每个控制器中取出数据。这样是不是和每个原生 php 单页写一个 mysql_contact ,就是每个页面都要连接数据库一次。本质是不同的,就是说 php 框架可以为我们配置一个持久数据连接,减少每个页面时的数据库重复连接开销吗?有人说框架中也是每个页面连接一次,并不能减少连接次数。到底框架中和原生单页中的连接方式频率是一样的吗。另外支持 mysql 读写分离,支持 reds 的 laravel/ci 框架,会不会比 flask,revel 不支持这些的框架后期扩展多 PV 更有潜力。

    我发现 imooc.com 速度不错。请问根据 url 形式,这个网站有可能是用什么 PHP 框架做的。
    是 ci2.0 吗?用了 redis 缓存吗? imooc.com/corp/index
    用了什么后端技术,访问这么流畅。
    我在 linode 东京 ubuntu vps 上执行 ab -c100 -n100 imooc.com/corp/index request per time : 600 多。
    对谷歌执行 ab -c100 -n100 google.com/ request per time : 2000 多。
    国内的很多网站,这个命令都返回是几十一二百到三四百。
    我也想用一个好用的 php 框架, laravel 是优雅,就是 ab 的测试成绩只有 30 ,比 ci 210 差几倍。
    请问 imooc.com 网站用的是 ci2 php 框架吗,到底怎么选择,谢谢。

    22 条回复    2015-12-19 14:51:20 +08:00
    justjavac
        1
    justjavac  
       2015-12-18 16:36:23 +08:00
    > php 框架可以为我们配置一个持久数据连接,减少每个页面时的数据库重复连接开销吗?

    不能。
    justjavac
        2
    justjavac  
       2015-12-18 16:46:59 +08:00
    > ab 的测试成绩只有 30 ,比 ci 210 差几倍。

    他们都说锯比斧子好用,于是我就拿着锯进了树林,砍了一条,累死我了,说实在的,比斧子难用多了。
    cxbig
        3
    cxbig  
       2015-12-18 16:51:36 +08:00
    你这比较的有问题啊,首先 app 部署在什么性能的服务器,各级 cache 开没开都没有交代。
    moji2016
        4
    moji2016  
    OP
       2015-12-18 16:52:55 +08:00
    @justjavac 你什么意思啊,我听不明白。我在同样配置的 ubuntu 机器上, linode vps 上做的测试.
    moji2016
        5
    moji2016  
    OP
       2015-12-18 16:56:54 +08:00
    @cxbig ubuntu 14.04, linode 东京 vps, 1g 内存, SSD, 然后 php 5.6 ,opcache 开启, ci3, laravel5.1 debug=false.同样输出 helloworld,显示在首页上。
    chairuosen
        6
    chairuosen  
       2015-12-18 17:01:49 +08:00   1
    要快的话用 yaf ,各种速度测试基本不带 yaf 玩
    GuangXiN
        7
    GuangXiN  
       2015-12-18 17:02:04 +08:00
    没有 profile 的性能优化都是算命
    jarlyyn
        8
    jarlyyn  
       2015-12-18 17:04:45 +08:00
    虽然没用 laravel

    但性能第一步不是找缓存么,关框架多大事……

    一般网站的性能消耗大头不是 mysql 和传输么……
    reeco
        9
    reeco  
       2015-12-18 17:10:22 +08:00
    helloworld 级别的测试没什么意义
    moji2016
        10
    moji2016  
    OP
       2015-12-18 17:12:13 +08:00
    @reeco 取 mysql 库, DB 表中的数据一条,出来显示在页面上,也是这样的测试 qps 差距啊。
    moji2016
        11
    moji2016  
    OP
       2015-12-18 17:13:12 +08:00
    @jarlyyn 很多框架的测试结果,会有几百倍,几十倍,的差距,框架本身性能真的可以忽略不计吗。
    cevincheung
        12
    cevincheung  
       2015-12-18 17:27:05 +08:00
    如果我要是说 imooc 真慢, po 主会不会更晕……

    先不说框架问题,真正实际做产品的时候,系统架构才是最根本的问题。

    同样的一套产品源代码部署在一台 64 核 CPU & 128G 内存的机器上和 部署在 1 核 64MB 内存的机器上,然后比较运行速度,有任何意义吗?

    同样的服务器配置,部署在国家骨干网络线路机房和部署在你自己家里的小水管小区 ADSL 拨号宽带上,然后比较从地球另一端分别的访问速度,有任何意义吗?


    然后是 po 主的问题:

    imooc 是否使用了 redis ,有没有使用框架, 用的什么框架,甚至用的什么语言写的,除了 imooc 自己以外,没有任何人能给出正确答案,凡是给答案的都是猜的。

    nginx add_header x-powered-by: php/1000.1000.100 。后端确是 java 233333333
    nginx rewrite /*.php /*.java 。 访问任何.php 文件,结果实际都是 java 处理的 23333333
    jarlyyn
        13
    jarlyyn  
       2015-12-18 17:30:24 +08:00
    @moji2016

    要是性能这么重要, php 早死了。

    要解决性能问题?很容易啊。

    缓存。

    缓存不能解决问题的地方, api+mvvc 。

    还不够?你都发达成这样了再找一批人开发一边也没问题了。
    movtoy
        14
    movtoy  
       2015-12-18 20:12:56 +08:00
    数据库持久链接需要到 web 服务器的父进程,紫禁城。

    紫禁城才能用持久链接。

    框架只是保存了某个配置文件的值,然后跟会话一样,下次需要时取出来。。
    SharkIng
        15
    SharkIng  
       2015-12-18 21:14:20 +08:00
    imooc.com/corp/index 这个网站根本打不开啊,难道是我打开方式不对?
    orvice
        16
    orvice  
       2015-12-19 00:11:52 +08:00 via iPad
    PHP 各个框架之间讨论性能意义不大
    laravel 偏重,缓存做下,也不会多慢了
    jellybool
        17
    jellybool  
       2015-12-19 01:16:57 +08:00
    msg7086
        18
    msg7086  
       2015-12-19 04:41:09 +08:00
    你 ab 跑出来是 30qps ,一天就是 260 万访问量。
    你的网站已经到这个数量级了吗?

    如果到了,那么就想办法一个月盈利 500 元然后换个牛逼的服务器吧。

    如果没有……
    msg7086
        19
    msg7086  
       2015-12-19 04:46:53 +08:00
    有一个很重要的论点:

    Premature optimization is the root of all evil.
    过早优化是一切罪恶的根源。
    lee015
        20
    lee015  
       2015-12-19 09:48:20 +08:00 via Android
    用 laravel 做了个接口, 60qps 样子,换成 laravel 的精简版 lumen ,同样的接口 100+qps 。
    snakesoft
        21
    snakesoft  
       2015-12-19 10:31:02 +08:00
    所有的框架不都是要牺牲一些效能的吗。前后端框架都一样。
    yernsun
        22
    yernsun  
       2015-12-19 14:51:20 +08:00
    撸主是来骗积分的,鉴定完毕。 http://www.v2ex.com/t/244371#reply15
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2628 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 09:25 PVG 17:25 LAX 02:25 JFK 05:25
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86