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

Swoole 终将一统高性能 php 场景

  •  
  •   sagaxu · 2017-01-04 09:17:00 +08:00 via Android · 13699 次点击
    这是一个创建于 2910 天前的主题,其中的信息可能已经有所发展或是发生改变。
    2.0 支持 php7 和 coroutine 了,要上天了
    22 条回复    2018-01-31 15:43:01 +08:00
    gouchaoer
        1
    gouchaoer  
       2017-01-04 09:27:22 +08:00 via Android
    只能在 websocket 之类的异步情景有优势,在一般的 http 应用中比不过 phalcon/yaf 的
    gouchaoer
        2
    gouchaoer  
       2017-01-04 09:28:49 +08:00 via Android
    而另一种思路则是类似 Swoole 和 phpdaemon 等 php-cli 常驻内存的异步方案(你可以理解成 php 版本的 nodejs ),然而这种方案 php-cli 本身就是一个 http 服务器(一些地方肯定没有 nginx/apache+php 方案那么成熟稳定,比如 https 支持之类的),而且常驻内存也会导致稳定性问题(和 nodejs 那样某个请求挂了应用就都挂了)没有 php-fpm 那么耐操,而且性能和 phalcon/yaf 一样: http://rango.swoole.com/archives/254 。因此除了需要 websocket 等异步功能情况下,我认为追求性能还是 yaf/phalcon 方案更好。
    xinhaiz
        3
    xinhaiz  
       2017-01-04 09:31:46 +08:00
    楼上确定用过 swoole 吗?
    gouchaoer
        4
    gouchaoer  
       2017-01-04 09:38:28 +08:00 via Android
    @xinhaiz 没有
    Immortal
        5
    Immortal  
       2017-01-04 09:55:35 +08:00
    swoole 还是吊吊的
    Immortal
        6
    Immortal  
       2017-01-04 09:56:03 +08:00
    和 phalcon/yaf 这类 web 框架是两个概念
    我也用 yaf~
    millken
        7
    millken  
       2017-01-04 09:59:02 +08:00
    我们为了追求性能,直接 php7+swoole 代替 nginx+php-fpm ,如今已经连续跑了几个月了。
    推荐 api 类的服务使用,性能是真不错。
    smallpath
        8
    smallpath  
       2017-01-04 10:39:22 +08:00
    和 nodejs 那样某个请求挂了应用就都挂了???? 什么鬼, node 表示一脸问号好吗
    elarity
        9
    elarity  
       2017-01-04 11:27:55 +08:00
    @gouchaoer 您真率真坦诚
    fuxkcsdn
        10
    fuxkcsdn  
       2017-01-04 11:51:33 +08:00
    我 X ,支持协程!屌屌的赶脚
    去年面试过一家游戏公司,他们就是用 swoole 做后台的
    zencoding
        11
    zencoding  
       2017-01-04 11:58:57 +08:00
    我厂生产线部分场景已使用了 swoole,目前运行良好
    dawniii
        12
    dawniii  
       2017-01-04 12:29:06 +08:00   ❤️ 1
    个人认为 swoole 主要作用应该是拓展了 php 的应用范围。性能的比重不是那么大。
    iyaozhen
        13
    iyaozhen  
       2017-01-04 12:43:48 +08:00 via Android
    @dawniii 嗯,确实。现在很多东西还是适合常驻内存的进程来使用。比如一直诟病的连接池
    kcross
        14
    kcross  
       2017-01-04 13:43:39 +08:00
    我本身写 php ,但是我感觉写 swoole 比写 go 还麻烦...
    mingyun
        15
    mingyun  
       2017-01-04 22:59:09 +08:00
    还没有用过
    ipom
        16
    ipom  
       2017-01-05 10:25:03 +08:00
    @gouchaoer Zephir 有什么好的 IDE 插件吗?准备给 Phalcon 贡献点代码,特别是 ORM 部分,它不支持临时表和 MySQL 的 JSON 语法,还有一些小 Bug 。
    如果 Phalcon 放弃全栈理念的话,它可以做到最好的 PHP 后台框架。我们的项目就用它来写 API 接口,基本上只用到了 MVC 、 ORM 、 Annotation 这几个功能。
    gouchaoer
        17
    gouchaoer  
       2017-01-05 10:41:12 +08:00
    @ipom php 下有支持 mysql 的 JSON 比较好的库么?
    ipom
        18
    ipom  
       2017-01-05 18:24:09 +08:00
    @gouchaoer 不怎么清楚,以前用 Java 几年了,现在很喜欢 PHP 。
    用 Phalcon 的时候, JSON 列取出来都是字符串,自己转成关联数组的,存的时候也自己确保是字符串。
    希望 PHP 越来越好。。。
    gouchaoer
        19
    gouchaoer  
       2017-01-05 19:30:35 +08:00 via Android
    @ipom 个人觉得用 zephir 写业务没法提升性能, phalcon 提升的性能来自于 mvc 弄成了扩展在简单的 api 请求中达到单页 php 性能。。。。 https://github.com/phalcon/zephir/issues/694 。。。。
    ipom
        20
    ipom  
       2017-01-05 22:18:15 +08:00 via Android
    @gouchaoer 不是用 Zephir 来写业务,没有好的 IDE 插件,修改 Phalcon 的代码不方便。
    它的 PHQL 解析部分代码,一个文件就有 3000 多行。
    hhxsv5
        21
    hhxsv5  
       2018-01-31 15:42:28 +08:00
    Laravel 具有高开发效率,分分钟撸出一套接口,但性能非常差,生产环境 FPM 下再怎么优化,一个 hello world 也要 120ms。Swoole 异步非阻塞高性能引擎
    我目前在造的轮子,通过 Swoole 来加速 Laravel/Lumen,快速提升至少 10 倍性能。有兴趣可以尝试下。
    hhxsv5
        22
    hhxsv5  
       2018-01-31 15:43:01 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5904 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 06:20 · PVG 14:20 · LAX 22:20 · JFK 01:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.