PHP 高并发处理 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liangxunli
V2EX    PHP

PHP 高并发处理

  •  
  •   liangxunli 2019-09-04 18:33:42 +08:00 13465 次点击
    这是一个创建于 2230 天前的主题,其中的信息可能已经有所发展或是发生改变。
    每天 24 小时都是高并发,10000 左右的并发,有好的解决方案吗?
    部分经常访问的已经使用缓存或者换成静态页面了,但是 PHP-fpm 还是暂用很大的内存
    69 条回复    2019-09-19 10:31:22 +08:00
    laragh
        1
    laragh  
       2019-09-04 18:36:39 +08:00   2
    使用 Swoole server 替代 php-fpm,用 nginx 做反向代理,代理到端口上面
    mhycy
        2
    mhycy  
       2019-09-04 18:41:26 +08:00
    如果缓存都在 PHP 里面做的话还是加机器吧,并发高的情况下就是字符串拼接都能耗掉不少资源
    nigelvon
        3
    nigelvon  
       2019-09-04 18:41:38 +08:00
    1 秒 10000 ?牛掰,简单的方案就是加机器吧。这个量级很高了。
    tomczhen
        4
    tomczhen  
       2019-09-04 18:43:41 +08:00 via Android
    每天 24 小时都是这个程度,不是业务设计不合理就是被攻刷 /爬了吧?
    kanepan19
        5
    kanepan19  
       2019-09-04 18:54:08 +08:00
    我就奇怪你们怎么动不动都有上 W 的并发。
    怕是对并发有什么误解。
    mamahaha
        6
    mamahaha  
       2019-09-04 19:13:16 +08:00
    先查查来访 ip 啊,没异常的话还不花钱请个专家,都这访问量了,舍不着孩子套不着狼啊。
    zjsxwc
        7
    zjsxwc  
       2019-09-04 19:15:58 +08:00 via Android
    单次请求峰值内存占用多少,平均每次请求占用带宽多少,平均每次请求 cpu 占用多少时间,你 tm 都没说,来问个鬼
    luozic
        8
    luozic  
       2019-09-04 19:17:15 +08:00
    1w * 86400 * 0.3 = 0.26 billion/day,这量级非常大。
    MonoLogueChi
        9
    MonoLogueChi  
       2019-09-04 19:24:28 +08:00 via Android
    换其他语言重构吧
    jziwenchen
        10
    jziwenchen  
       2019-09-04 19:37:52 +08:00
    用 nginx 做一个前端负载均衡 禁用不必要的 php 模块 减少 php-fpm 内存占用
    qiayue
        11
    qiayue  
    PRO
       2019-09-04 19:39:36 +08:00
    你这个流量,每天广告收入都上百万了
    dyyhobby
        12
    dyyhobby  
       2019-09-04 19:54:15 +08:00
    怕不是对并发有什么误解
    chinesestudio
        13
    chinesestudio  
       2019-09-04 22:41:37 +08:00 via Android   5
    每天 2 亿浏览量 都不请架构师么 都世界前 500 的网站了 跑这里搞笑么 。负载均衡 加机器 静态化 cdn 数据库集群。 贴出网站 我免费给你做 只要你达到你说的量。
    default7
        14
    default7  
       2019-09-04 22:46:23 +08:00
    需要硬件支持
    wdlth
        15
    wdlth  
       2019-09-04 22:57:27 +08:00   3
    要是有这么多的用户请求,应该注册开曼群岛的公司,然后去纳斯达克敲钟…
    Leigg
        16
    Leigg  
       2019-09-05 00:22:24 +08:00 via Android
    没钱请 cto ?
    patx
        17
    patx  
       2019-09-05 01:23:59 +08:00
    问个问题也用小号?
    jjshare
        18
    jjshare  
       2019-09-05 02:57:08 +08:00
    加 base64 v 我帮你看看 ampzaGFyZQo=
    stabc
        19
    stabc  
       2019-09-05 07:10:28 +08:00
    并发 10000,估计 1 秒得十万了吧,这么大级别的网站或 APP,全国也没几个吧
    luckylo
        20
    luckylo  
       2019-09-05 07:12:50 +08:00 via Android
    你是不是对并发有什么误解?
    bequt
        21
    bequt  
       2019-09-05 07:20:16 +08:00 via Android
    这么牛逼的, 完全可以请专家了啊
    Yourshell
        22
    Yourshell  
       2019-09-05 08:04:45 +08:00 via iPhone
    ssh 让我上去康康
    xyooyx
        23
    xyooyx  
       2019-09-05 08:18:29 +08:00   3
    老师又瞎布置作业了吗
    wo642436249
        24
    wo642436249  
       2019-09-05 08:41:25 +08:00
    加机器,开 opcache,用 swoole,上 redis 缓存
    xkeyideal
        25
    xkeyideal  
       2019-09-05 09:02:34 +08:00
    我 TM 的都用上 PHP 了,还在乎并发
    tonnycao
        26
    tonnycao  
       2019-09-05 09:05:28 +08:00
    @luozic 为什么要乘 0.3
    Ciallo
        27
    Ciallo  
       2019-09-05 09:17:40 +08:00
    太强了
    liuxu
        28
    liuxu  
       2019-09-05 09:24:35 +08:00
    楼上不要咬文嚼字,楼主的意思就是 qps,10k requests/s
    sujin190
        29
    sujin190  
       2019-09-05 09:24:49 +08:00
    @luozic #8 还有他说的是 1w 并发,不是 1wqps。。
    liuxu
        30
    liuxu  
       2019-09-05 09:26:36 +08:00
    @luozic 我也好奇 0.3 是啥,历史测量后总结的的平均系数?楼主 24 小时满的
    flashrick
        31
    flashrick  
       2019-09-05 09:30:33 +08:00
    老师布置的作业?
    Moker
        32
    Moker  
       2019-09-05 09:40:48 +08:00
    @liuxu 感觉 1W QPS 也是很厉害了
    hiddendeerer
        33
    hiddendeerer  
       2019-09-05 09:51:15 +08:00
    好多都是批判的,咋没有解决问题的呢,还有人借此黑一把
    justfindu
        34
    justfindu  
       2019-09-05 09:55:51 +08:00
    @liuxu
    @tonnycao 应该是每次流量吧 单位可能是 MB
    beckyao
        35
    beckyao  
       2019-09-05 09:58:52 +08:00
    加机器完全 ok 的
    litujin1123
        36
    litujin1123  
       2019-09-05 10:00:24 +08:00
    @hiddendeerer 这么高的并发,你觉得说两句就能解决了?
    linxb
        37
    linxb  
       2019-09-05 10:03:51 +08:00
    每天 24 小时一万的并发?你是不是对并发理解有误啊,真有这么高而且这么持久的并发不会来问这种问题
    jsjscool
        38
    jsjscool  
       2019-09-05 10:32:23 +08:00
    上 swoole 的成本最低
    lolizeppelin
        39
    lolizeppelin  
       2019-09-05 10:32:31 +08:00
    估计是做区块链的 量化交易平台
    这个并发很正常,全是 api 请求

    换语言什么的就算了,等你们换好了估计公司都不在了 233
    出了问题也担不起,老老实实家机器别折腾了,免得背锅 233
    lolizeppelin
        40
    lolizeppelin  
       2019-09-05 10:34:04 +08:00
    唯一可以做的,就是对一些内容变化少的接口加缓存

    上 openrestry
    kiddingU
        41
    kiddingU  
       2019-09-05 11:01:58 +08:00
    1Wqps 也还好,最简单方式就是加机器咯,8 和 16G 的云主机都能抗个几 K 的 QPS
    dfourc
        42
    dfourc  
       2019-09-05 11:07:14 +08:00
    老师瞎布置作业嘛,发帖后被 v 友震住不敢说话
    luozic
        43
    luozic  
       2019-09-05 11:47:17 +08:00
    24Hour 也全部 1w request/s 这个难道不是人用的?
    hbolive
        44
    hbolive  
       2019-09-05 11:49:54 +08:00
    @galikeoy 这题超纲了。。
    phpdever
        45
    phpdever  
       2019-09-05 11:58:06 +08:00   3
    醒醒吧,每天分布式,高并发,高可用集群,实际上用户加起来不到 100 个,测试人员比用户还多!
    azh7138m
        46
    azh7138m  
       2019-09-05 12:00:18 +08:00
    @hiddendeerer 可以算一下嘛,这个量级,日 pv 是好几亿的
    有这个流量的,显然加钱啊,单机内存加到 24T,内存还会不够吗(
    cszchen
        47
    cszchen  
       2019-09-05 12:49:59 +08:00 via Android
    性能不够加机器呀
    也别折腾什么 swoole 了
    golden0125
        48
    golden0125  
       2019-09-05 14:17:19 +08:00
    架构上别问,问就是 swoole,另外 LZ 的并发到底是 QPS 还是 TPS?这两者差距很大啊,如果是 QPS 就买 CDN 吧
    irgil
        49
    irgil  
       2019-09-05 14:51:28 +08:00
    是 qps 还是并发啊?并发太可怕了吧。。。。
    kisshere
        50
    kisshere  
       2019-09-05 14:59:32 +08:00
    1W 并发,你真的可以去 NASDAQ 敲钟了,还在这里问问题,每天的收入都可以砸 S 一堆高技术程序员
    lbp0200
        51
    lbp0200  
       2019-09-05 14:59:41 +08:00
    你这个不行,现在我出去面试,动不动问的都是百万并发,然后觉得你薪资要高了。
    jhdxr
        52
    jhdxr  
       2019-09-05 15:43:56 +08:00
    并发 1W ( qps 得 10w 了吧,那 PV 得十亿的量级吧)的网站你还在乎内存不够?加内存加机器啊
    kingOFWorld1
        53
    kingOFWorld1  
       2019-09-05 16:01:56 +08:00
    1 万并发?你的意思是想说 1 天有 1 万个请求吧????
    aaa5838769
        54
    aaa5838769  
       2019-09-05 16:07:00 +08:00
    @kingOFWorld1 1 天一万个请求很不高吧= =
    killerv
        55
    killerv  
       2019-09-05 16:10:46 +08:00
    1 万并发你知道什么概念吗???
    qce7
        56
    qce7  
       2019-09-05 17:02:56 +08:00
    花式黑 PHP
    kingOFWorld1
        57
    kingOFWorld1  
       2019-09-05 17:09:26 +08:00
    @aaa5838769 当然不大了,但是 10000 并发就不一样了,
    wendellup2018
        58
    wendellup2018  
       2019-09-05 17:31:56 +08:00
    cl 能做到
    gaoyulong
        59
    gaoyulong  
       2019-09-05 17:37:07 +08:00
    加机器解决
    ipengxh
        60
    ipengxh  
       2019-09-05 18:53:34 +08:00
    复杂业务逻辑的情况下,加机器都很难打到上万。尤其是返回页面或者大量数据的,瓶颈会出现在各种地方。简单业务的话就是另外一回事了,说不定 CDN 都可以解决
    leveraging
        61
    leveraging  
       2019-09-05 19:40:49 +08:00
    看业务场景呀,如果是抢单秒杀啥的加机器也不好使啊。
    nowgoo
        62
    nowgoo  
       2019-09-05 20:48:58 +08:00
    楼主也就随口一说,早就忘记这事了。看你们一个个认真的……
    jjshare
        63
    jjshare  
       2019-09-06 12:44:57 +08:00
    以前最高处理过 8 万 qps,以前那个公司已经上市~
    GuangXiN
        64
    GuangXiN  
       2019-09-06 12:48:21 +08:00 via Android   1
    @nigelvon 也许只是一万并发连接,不是 10000rps
    components
        65
    components  
       2019-09-06 13:19:13 +08:00
    一楼正解,试试 swoole 吧
    ETO
        66
    ETO  
       2019-09-09 10:39:23 +08:00
    @luozic 0.3 是个什么系数?
    luozic
        67
    luozic  
       2019-09-12 00:37:00 +08:00 via iPhone
    @ETO 正常吹多少并发的一律三分之一看剂量。 因为一般的没有说的这么大的并发量。
    heheda0
        68
    heheda0  
       2019-09-18 17:47:53 +08:00
    这样算下来每天的 PV 太可怕了
    N1ceHua
        69
    N1ceHua  
       2019-09-19 10:31:22 +08:00
    @litujin1123 首先要确定 lz 说的 10000 并发是什么?如果是每天或者每小时 10000PV 那就不叫做事,如果是 1000QPS 情况可能复杂点但是我感觉这个也不现实,但是没你想象的那么复杂都是可以解决的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1372 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 16:40 PVG 00:40 LAX 09:40 JFK 12:40
    Do have faith in what you're doing.
    ubao 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