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

优化 Laravel 网站打开速度

  •  
  •   tanteng · 2016-06-02 19:59:06 +08:00 · 6153 次点击
    这是一个创建于 3127 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有 PHPer 对 Laravel 感兴趣的吗?本人最近在学习 Laravel 框架,自己做了个小站,总结了一些 Laravel 网站性能提升的方法。因为 Laravel 框架功能强大,但是代码也很庞大,它的易用是牺牲了性能作为代价的,所以要做好优化措施,具体的 tips 请见本文。

    欢迎交流!

    http://blog.tanteng.me/2016/06/laravel-optimize/

    第 1 条附言  ·  2016-06-03 00:10:52 +08:00

    开启opache

    第 2 条附言  ·  2016-06-03 00:18:23 +08:00
    再补充一个:

    PHP 7 安装和开启 opcache
    http://blog.tanteng.me/2016/06/php7-opcache/
    16 条回复    2016-06-07 22:58:19 +08:00
    jellybool
        1
    jellybool  
       2016-06-02 22:27:18 +08:00
    你测一下这个站点的速度: https://laravist.com/
    tanteng
        2
    tanteng  
    OP
       2016-06-02 22:31:03 +08:00
    @jellybool 挺快的,如何优化的
    jhdxr
        3
    jhdxr  
       2016-06-02 22:35:36 +08:00
    点开看了一眼真心觉得是骗点击的。。。
    tanteng
        4
    tanteng  
    OP
       2016-06-02 23:11:54 +08:00
    @jhdxr 哪里说得不对,或者有补充的地方,欢迎补充!
    songjiaxin2008
        5
    songjiaxin2008  
       2016-06-02 23:31:26 +08:00 via iPhone   ❤️ 1
    最有用的是 php7 opcache 然后 gzip
    tanteng
        6
    tanteng  
    OP
       2016-06-02 23:39:36 +08:00
    @songjiaxin2008 明天试试
    huigeer
        7
    huigeer  
       2016-06-02 23:39:40 +08:00 via iPhone
    路由的 group 拆粗去
    tanteng
        8
    tanteng  
    OP
       2016-06-02 23:40:16 +08:00
    @huigeer 为何
    tanteng
        9
    tanteng  
    OP
       2016-06-03 00:10:31 +08:00
    @songjiaxin2008

    ![opcache]( http://blog.tanteng.me/wp-content/uploads/2016/06/opcache.png)

    刚安装了和开启了 opcache ,就这样可以了吗
    tanteng
        10
    tanteng  
    OP
       2016-06-03 08:34:05 +08:00 via iPhone
    @jellybool 我的现在也超快
    MangozZ
        11
    MangozZ  
       2016-06-03 09:35:23 +08:00
    数据库版本和查询逻辑也是很重要
    cszchen
        12
    cszchen  
       2016-06-03 10:01:39 +08:00 via iPhone
    “代码也很庞大” 说的好像真的跑了几秒钟一样。打开慢是因为你网络不好,也没有压缩。
    Volio
        13
    Volio  
       2016-06-03 11:34:58 +08:00
    来试一下小站的速度 https://live.niconico.in/
    jhdxr
        14
    jhdxr  
       2016-06-03 13:19:10 +08:00   ❤️ 1
    @tanteng 打开速度在绝大多数场景下,瓶颈都是在 IO 上,首先是其他人已经提到了的 gzip ,可以减小返回的页面大小,其次还有静态资源上 CDN 等(同一个域名浏览器并发请求有限制,但同一个域名在 SPDY/HTTP2 下有连接复用,各有利弊)。作为网站程序自身,首先优化的肯定是数据库查询。。。

    你所列出的都是自带的方法,其实我认为仔细看文档的人都知道。而且优化计算逻辑能进行的提升实在有限。。。优化还是应该从瓶颈入手。。。
    tanteng
        15
    tanteng  
    OP
       2016-06-03 20:12:23 +08:00
    @jhdxr 实际上我经过优化还是作用很明显的,特别是 Laravel 路由缓存,配置环境, composer 自动优化,以及开始 php7 的 opcache ,页面的打开速度从 120ms 到现在 20ms 左右,不能说这些优化没有作用,而是效果明显!
    darluc
        16
    darluc  
       2016-06-07 22:58:19 +08:00
    有个 FlyLaravel 可以看看,是 swoole 和 laravel 结合的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3002 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:24 · PVG 22:24 · LAX 06:24 · JFK 09:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.