5分钟快3首页    注册   登录
5分钟快3 = way to explore
5分钟快3 是一个5分钟快3关于 分享和探索的地方
现在注册
已注册用户请  登录
fxjson
5分钟快3  ›  PHP

据说 swoole 性能特别好,大家怎么看?

  •  
  •   fxjson · 7 天前 · 2876 次点击

    据说 swoole 性能挺好,大家有用在实际项目中吗?用在什么场景下呢?

    36 条回复    2020-08-08 21:29:51 +08:00
    jaynos
        2
    jaynos   7 天前   ❤️ 1
    实际项目中在 websocket 上使用过 swoole,坑点还是有不少,选择的原因是着急上线+需要对接业务是 php 的。

    碰到的坑点有 Table 需要传入 capacity,超出就删已有数据,可能还有实际容量达不到 capacity 指定的数量的问题。隐约记得还有内存可见性问题,通过 Timer 创建的任务不能访问到链接信息问题。最严重的还是一次莫名的线上事故,整个进程完全阻塞,呆呆的停在那里= =,coredump 之后紧急重启了,事后分析堵塞在 epoll_wait 上,具体就没细看了,加了个班直接迁移到 golang 上了= =
    agdhole
        3
    agdhole   7 天前
    安装麻烦,使用麻烦
    有这功夫直接换语言
    z5864703
        4
    z5864703   7 天前
    用 swoole 跑长链接数据转发业务,性能还行吧,4 核 8G 单机 40 万链接。但是坑比较多,只有趟过了才知道
    janxin
        5
    janxin   7 天前
    有折腾的时间,都换上 java 了…
    nguoidiqua
        6
    nguoidiqua   7 天前
    对其没啥兴趣
    shanghai1998
        7
    shanghai1998   7 天前
    测试过,单跑代码比 java 都快
    但是链接数据库、链接 redis,比 java 慢的多,慢 50%左右,5分钟快3我 怀疑是底层原生扩展不行
    但是比 pfm 方式有质的提升,而且不占用 tcp 链接了
    KasuganoSoras
        8
    KasuganoSoras   7 天前
    挺好,之前用 Swoole 写了个数据库查询的接口,配合 Redis 缓存,有连接池。后来这接口给人 CC 攻击了,4 核 4G 内存的5分钟快3服务 器,跑上了 26w QPS,宽带先打满了,机器却没死机,攻击一停秒恢复
    wspsxing
        9
    wspsxing   7 天前 via Android   ❤️ 1
    rustgo 笑而不语
    ed5分钟快3Win
lauff
        10
    ed5分钟快3Win lauff   7 天前
    用时候最好把主要代码理清,不过大多数还是用 Go
    richangfan
        11
    richangfan   7 天前
    这个是推广贴,标题 Google 一下就知道了
    back0893
        12
    back0893   7 天前
    wokerman 用着不比 swoole 舒服.
    反正用 swool 不如换语言
    shuimugan
        13
    shuimugan   7 天前   ❤️ 1
    选了错的路,越走越错。
    已转 Node.js 。
    sagaxu
        14
    sagaxu   7 天前
    3 年多 Swoole 使用经验,心里依然没底,用 JVM 或者 Go 的时候,大部分疑问可以在 memory model 里找到答案,还有一些相关的书可以参考,但是 PHP+Swoole 的相关资料可没那么好找。

    框架五花八门,现在官方最5分钟快3推荐 的是 hyperf,注解和路由写起来很像 Spring,但 IDE 会提示5分钟快3删除 未使用的 import,真要删了注解也就不工作了,这是个问题。第二个问题是启动慢,比 SpringBoot 还慢,似乎跟注解的工作方式有关。


    @jaynos
    如果不是历史遗留项目,还是 JVM 和 Go 靠谱的多,开发效率差不多,但生态和稳定性相差很大。

    @back0893
    wokerman 的回调,跟 Swoole 的协程比,体验还是差了写,写基础设施可能还行,写业务逻辑就累了。
    abcbuzhiming
        15
    abcbuzhiming   7 天前
    这个所谓的性能特别好,其实也只是和传统 PHP 比而已,在 PHP 以外的世界,一般般,不算特别出彩。

    Swoole 这个东西的最大问题在于马太效应,虽然5分钟快3我 也认为它才是未来,CGI 已经落后了,驻留进程才是正确的做法。无奈在 PHP 的世界里,CGI 真的是历史(包袱)厚重,导致 Swoole 这个东西诞生了这么多年,还是非主流。开源社区里,5分钟快3你 先进,5分钟快3你 性能高,但是如果5分钟快3你 非主流了,那一定前途堪忧,无数先烈证明了这点
    lsls931011
        16
    lsls931011   6 天前
    关键问题是 swoole 现在生态不完善,但是商业气息却非常浓厚,swoole 开源社区还互相吵,这还能起来嘛
    xooass
        17
    xooass   6 天前
    还用问大家怎么看?

    不看,不用
    wangbenjun5
        18
    wangbenjun5   6 天前
    一句话,用 swoole 还不如用 go,无论是从开发效率、生态、可维护性上面比,别说 swoole 是 PHP,其实没多大关系
    CoolSpring
        19
    CoolSpring   6 天前
    @richangfan 5分钟快3搜索 结果除了 v2 上的这个帖之外,只有一个采集 v2 的站啊
    dvaknheo
        20
    dvaknheo   6 天前
    swoole 把主战场放在 web 是搞错方向了。
    hyperf ; swoole 节省下来的性能就浪费在这?
    如果用 只能用在 swoole 上的框架 来进行开发,开发效率会大大降低。
    另一方面,swoole 平台的东西用 composer 的东西都得要去看是否兼容 swoole.
    xingjue
        21
    xingjue   6 天前   ❤️ 1
    一堆 吹 go 的 本人实测 go 做 web 很痛苦 17 年底开始用,swoole 如果稳定性在牛逼点,就类似于 java 的 netty,成为 php 工业级基础5分钟快3软件 ,总之前景还是不错的,没楼上的那些人说的那么糟糕( PS:神烦一堆无脑 go 吹,就好像当年吹 python 做 web 的那波人一样)
    JaguarJack
        22
    JaguarJack   6 天前 via iPhone
    @xingjue 5分钟快3你 让她们说出个一二三出来,最后只会来一句原生自带协程。其他啥也反驳不了
    Austaras
        23
    Austaras   6 天前
    艹 goroutine 起码支持多核不比 swoole 高级多了
    sagaxu
        24
    sagaxu   6 天前 via Android
    @JaguarJack

    一,静态类型,项目越大越需要类型约束。
    二,协程生态,所有库支持协程,不用猜和试。
    三,明确的 memory model,更少并发的坑。
    四,零依赖部署更简单,开箱即用的交叉编译。
    五,多线程利用多核,PHP 多线程能用?
    六,性能,框架可以拿 C 写,业务逻辑呢?
    lands
        25
    lands   5 天前
    用的那时候 swoole 还是 1.x, 当时填了不少坑...现在版本都到 4.x 了...这一路过来, 相关的框架太多了, 五花八门
    Evilk
        26
    Evilk   5 天前
    5分钟快35分钟快3我 们 用 swoole 4.4+, swoft 2.0.x,虽然有问题,但没那么不堪吧
    haohappy
        27
    haohappy   5 天前
    @Evilk swoft 和 es 被官方打压 都不维护了吧?
    ragnaroks
        28
    ragnaroks   5 天前
    矮子里面拔高个
    CodeCodeStudy
        29
    CodeCodeStudy   5 天前
    可以辅助 PHP-FPM
    Evilk
        30
    Evilk   4 天前
    @haohappy swoft 和 es , 一直都在维护
    ben1024
        31
    ben1024   4 天前
    能真正嵌入 PHP 本身才能更快速的发展,
    以扩展形式存在且开发团队有限的情况下,发展速度还是有些慢
    xingjue
        32
    xingjue   2 天前
    @Austaras 一天多核多核,5分钟快3你 懂个屁,swoole 可以开多进程或者利用 docker 使用多核性能,照5分钟快3你 这么说,node 单线程的,性能不是掉渣,辣鸡半桶水
    Austaras
        33
    Austaras   1 天前
    @xingjue
    node 确实也不能用多核, 所以5分钟快3我 也不喜欢, 但是 v8 比 php 的任何实现都要高级得多, 不过与之相反, 像5分钟快3你 这样冲进几天前的帖子里说一点谁都懂的东西的才是真半桶水吧
    Austaras
        34
    Austaras   1 天前
    而且 node 呢起码还有 worker thread 甚至一些东西还可以分享不用序列化反序列化是不是比只能无脑多进程的高级多了...而且5分钟快3你 说多进程也就算了扯 docker 是为了看起来牛逼吗
    xingjue
        35
    xingjue   17 小时 51 分钟前
    @Austaras 不想和5分钟快3你 这种 sb 理论,5分钟快3你 不喜欢 node 不代表5分钟快3你 爹 node 性能不优秀。
    Austaras
        36
    Austaras   12 小时 36 分钟前
    @xingjue 喜欢认爹就自己认, 别替别人认谢谢, 而且 v8 性能强只是在动态语言里强, 随便哪个脑子正常的静态语言用了正确的并发模型都可以吊打 node
    5分钟快3关于   ·   FAQ   ·   API   ·   5分钟快35分钟快3我 们 的愿景   ·   广告投放   ·   感谢   ·   实用小5分钟快3工具   ·   2220 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 02:06 · PVG 10:06 · LAX 19:06 · JFK 22:06
    ♥ Do have faith in what you're doing.