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

laravel 优化

  •  
  •   yadgen · 2017-10-19 12:44:44 +08:00 · 5261 次点击
    这是一个创建于 2619 天前的主题,其中的信息可能已经有所发展或是发生改变。
    laravel 框架默认输出 hello world 需要几十毫秒,优化到只有几毫秒,有什么思路?
    24 条回复    2017-10-20 16:21:08 +08:00
    Magician
        1
    Magician  
       2017-10-19 12:50:43 +08:00 via iPhone   ❤️ 1
    echo 0.000000000001 微秒 自我催眠
    takanasi
        2
    takanasi  
       2017-10-19 12:59:27 +08:00 via Android
    不用框架?
    2ME
        3
    2ME  
       2017-10-19 13:26:11 +08:00
    关闭 session 试试?
    thomasjiao
        4
    thomasjiao  
       2017-10-19 14:04:10 +08:00
    关闭所有 middleware 和 service provider ;
    路由缓存,配置缓存;
    silencefent
        5
    silencefent  
       2017-10-19 14:05:11 +08:00
    /index.php

    echo "hello world"
    lbp0200
        6
    lbp0200  
       2017-10-19 14:05:35 +08:00
    没什么意义
    FishInShallow
        7
    FishInShallow  
       2017-10-19 14:08:20 +08:00
    不用它的模板引擎试试
    z21victor
        8
    z21victor  
       2017-10-19 14:10:20 +08:00
    这个是图啥,如果只输出,就不用框架呗
    b821025551b
        9
    b821025551b  
       2017-10-19 14:18:45 +08:00
    毫无意义
    wdlth
        10
    wdlth  
       2017-10-19 14:25:01 +08:00 via Android
    难道用框架是为了输出 Hello World ?不用写业务逻辑?
    HYSS
        11
    HYSS  
       2017-10-19 14:29:56 +08:00
    不可能的 就算仅仅留下个 Kernel 还是会几十
    yadgen
        12
    yadgen  
    OP
       2017-10-19 14:32:57 +08:00
    @thomasjiao 没用,试过了。
    yadgen
        13
    yadgen  
    OP
       2017-10-19 14:33:27 +08:00
    @HYSS 试试 kernel 内存常驻呢?
    TypeErrorNone
        14
    TypeErrorNone  
       2017-10-19 14:44:30 +08:00
    还是把重点放到 mysql 上,php 这块到时开启 opcache 就行了,laravel 可以用 lumen 代替
    yadgen
        15
    yadgen  
    OP
       2017-10-19 15:41:49 +08:00
    @TypeErrorNone mysql 也简单,减少 IO,redis or memcache, 减少请求,在上游优化等等手段。
    dryyun
        16
    dryyun  
       2017-10-19 18:00:42 +08:00
    换个轻量级框架 ?
    pqee
        17
    pqee  
       2017-10-19 18:42:41 +08:00
    14 年的 Laravel 4.2 默认配置 hello world 要 150 ms,该满足了。

    如果你实在是想优化性能,换 PHP 效果最好。
    pqee
        18
    pqee  
       2017-10-19 18:43:00 +08:00
    补充:换 PHP7 效果最好
    gouchaoer
        19
    gouchaoer  
       2017-10-19 21:54:22 +08:00 via Android
    opcache,session 存 redis/memcache,php7,没了
    allenhu
        20
    allenhu  
       2017-10-19 22:10:00 +08:00 via Android
    lumen 试试?
    jfcherng
        21
    jfcherng  
       2017-10-19 22:15:25 +08:00
    還有 composer dump-autoload -o
    jswh
        22
    jswh  
       2017-10-20 05:11:54 +08:00
    我猜你没开 opcache,之前也是。开了 opcache 之后框架启动时间就只有几到十几毫秒了
    goodspb
        23
    goodspb  
       2017-10-20 09:43:46 +08:00
    有个不错的思路,将框架常驻在内存,每次只是执行逻辑部分。
    PS: 不过这个坑很多,公司用 laravel4.2 就这样跑过,稳定性稍差。

    现成可参考的轮子有:

    https://github.com/scil/LaravelFly
    https://github.com/chongyi/swoole-laravel-framework
    https://github.com/garveen/laravoole
    songhuasahn
        24
    songhuasahn  
       2017-10-20 16:21:07 +08:00
    原生好了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2735 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 03:47 · PVG 11:47 · LAX 19:47 · JFK 22:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.