• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zeroJason
V2EX  ›  程序员

并发解决一秒钟五十万的并发网站

  •  
  •   zeroJason · Aug 9, 2016 · 27801 views
    This topic created in 3737 days ago, the information mentioned may be changed or developed.
    一秒钟五十万的并发网站,如何从服务器,缓存,数据库,前端进行优化?
    纯粹的问题,求指教
    104 replies  •  2016-08-10 23:24:12 +08:00
    1  2  
    ❮ ❯
    Reign
    Reign
    Aug 9, 2016
    1
    晒网址,大家才好从前端方面入手给你优化
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    2
    @Reign 没,这就是个问题。别人问我,解决不了才提问的。
    notgod
    notgod
    Aug 9, 2016 via iPhone❤️1
    3
    这样问没用
    连你什么站都不知道 静态多还是动态多
    读多写多 什么业务逻辑 可接受的预算方案
    什么都靠别人猜吗 ........
    sujin190
    sujin190
    Aug 9, 2016
    4
    秒杀?每秒五十万,每天数百亿?这么牛逼恐怕不是简简单单优化就能搞的定的吧
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    5
    @notgod 哦哦,好的,那我撤回问题,等了解清楚再来哈
    @sujin190
    谢谢(*^__^*) 嘻嘻……
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    6
    貌似删不了了= =
    pi1ot
    pi1ot
    Aug 9, 2016
    7
    五十万什么?输出五十万次 hello world 的话不需要任何优化
    just4test
    just4test
    Aug 9, 2016
    8
    如果是秒杀,有一大堆的方法让 50w 请求打到后端上只剩 50 。
    如果是长时间高峰 50w ,那你们得多有钱,何必跑 v2 问。
    microchang
    microchang
    Aug 9, 2016 via Android
    9
    @zeroJason v 站发帖没法删除,谨慎哟~
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    10
    @just4test 没,就别人问我个 问题。小菜鸟不大会,又想学习。所以过来请教一下。

    @microchang 恩恩,谢谢(⊙v⊙)
    wy315700
    wy315700
    Aug 9, 2016
    11
    我猜是个面试题
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    12
    @wy315700 哈哈,不是面试题。就看了别人的这个问题,感兴趣。
    slixurd
    slixurd
    Aug 9, 2016❤️1
    13
    显然一看就是新手吧
    QPS 和并发本来就是不一样的概念
    一秒钟 50w 并发我都不知道是个啥
    50w 并发,这个系统怎么也得有个 500wQPS 吧
    jy01264313
    jy01264313
    Aug 9, 2016
    14
    百度搜索页面 QPS 大概是 30w
    won
    won
    Aug 9, 2016 via Android
    15
    最简单的联系,把防火墙都摘掉
    em70
    em70
    Aug 9, 2016
    16
    世界上有这么大流量的网站?
    wander2008
    wander2008
    Aug 9, 2016 via iPhone
    17
    至少要花 300w 招人吧。这么大的并发。不知道, pokeman 有没有!!
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    18
    懵逼了。原来这么深奥
    changshu
    changshu
    Aug 9, 2016❤️1
    19
    twitter 上市那年大概是十几万每秒吧.....
    wander2008
    wander2008
    Aug 9, 2016 via iPhone
    20
    地球上有哪个应用网站招这么大并发,求围观。
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    21
    刚那人给我发了一下详细的需求,看了一眼,,,又懵逼了。。
    大致是这样的
    1 ,公司网站是一个 秒访问量在 50W 你觉得我在吹牛 其实没有。情况属实。

    公司困境 公司有 50W 个客户 (可以理解成一台电脑)每个电脑需要在 5 秒内 访问一次公司网站,公司页面不需要用户操作,任务由客户 Duan 每时每客在读
    公司的一个页面 ,这个页面会获取数据库内容返回给客户 Duan 。

    虽然在每 5 秒访问一个,可是如果 50W 个用户有几率在同时一秒访问 可能在 10W 左右 那么服务器数据库就瘫痪

    2 ,程序员可部署 站群服务器 客户 Duan 这个难题,如果当您看到 请你帮帮我,公司每天都在亏钱,

    3.本公司 为正规注册广告公司,业务不仔细详说,以上信息真实,不是吹牛没必要,


    精易网站有几个帮过没能解决 在此表示感谢。


    补充内容 (2016-8-9 10:42):
    本人前期实验 1 号服务器装 网站 2 号服务器装数据库 1-2 号服务器内网 PHP 内容的连接数据库 读取数据库 写入数据库 PHP 没有任何处理

    补充内容 (2016-8-9 10:43):
    硬件 32G 8H 200M 2 号服务器在 2000 时基本 CPU 百分百 死掉的
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    22
    求大神,不要补刀。。求解释,楼主对此一片空白
    tomczhen
    tomczhen
    Aug 9, 2016
    23
    苦逼半路出家野生运维一名,之前后端开发问我“大访问量网站”架构的问题,我问他“访问量多大”,他说“大概每秒上百万吧”。

    然后我心里默念了一句 MDZZ

    括弧逃
    9hills
    9hills
    Aug 9, 2016
    24
    如果是动态请求, Google Search 的 QPS 比这多些,但是并发比不上, QPS 除以 10 差不多是并发。

    也就是说,你的网站相当于好几个 Google Search 。。上面说几百万招人的,呵呵哒
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    25
    (⊙o⊙)…
    tboy
    tboy
    Aug 9, 2016
    26
    @zeroJason 怎么高并发 还读数据库 怎么的也要用 nosql 啊 读内存数据库 硬盘是 ssd 啊
    tomczhen
    tomczhen
    Aug 9, 2016
    27
    看业务描述估计是统计类的业务,不过也可能是做成“开关”业务的控制。
    一般来说都是上 kvdb ,后端用 openresty 实现这种访问量大、响应要求高的简单业务。当然,各种负载均衡、分布肯定是要做的。
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    28
    @tboy 话说这个老板好像真的很着急的样子,问我个菜鸟也是走投无路了吧,应该是不知道怎么办了,如果真的有大神知道解决办法的话,还请帮忙。真的。求大神指点
    aabbccli
    aabbccli
    Aug 9, 2016
    29
    估计是广告联盟公司的实时报价系统(RTB)
    strwei
    strwei
    Aug 9, 2016
    30
    坐等 Alibaba 攻城狮解答
    denghongcai
    denghongcai
    Aug 9, 2016
    31
    不如直接把原始需求来源发出来,有合理报酬自然有人帮忙
    vus520
    vus520
    Aug 9, 2016
    32
    某司 2000 QPS 的业务,目前市值 80 亿
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    33
    我刚发的那一堆是需求,那个老板的预算是 3w-5w,如果能有人解决的话,可以留言,我发联系方式过去
    tomczhen
    tomczhen
    Aug 9, 2016
    34
    @zeroJason 问题是即便你在这里问到了方案,但是具体实施起来还是要看人的。就像现在随便一个物理学博士知识都能造原子弹一样——真正能造出来还是要看很多条件的。
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    35
    @tomczhen 恩恩,有大神的可以解决的话,可以留下方式,我发过去联系方式,那个人的预算是 3w-5w 。也不太懂,就能帮他那么多了
    nilai
    nilai
    Aug 9, 2016
    36
    估计应该是金融类的产品吧。
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    37
    @nilai 是广告类的
    9hills
    9hills
    Aug 9, 2016
    38
    哪怕是只返回静态的 hello world 。 50w 并发(注意是并发不是 QPS )也不是一般人能做出来的
    bk201
    bk201
    Aug 9, 2016
    39
    这个不如花钱请阿里的顾问去你们那儿实际看看。
    cevincheung
    cevincheung
    Aug 9, 2016
    40
    从最基础的解决方案来呗。
    cevincheung
    cevincheung
    Aug 9, 2016
    41
    po 主不妨留个邮箱,谁有方案可以跟你提。重赏之下必有勇夫。
    sujin190
    sujin190
    Aug 9, 2016
    42
    @zeroJason 看需求像是实时统计展示之类的,如果是这样的话 50w 个长连接推送更靠谱吧, 5 秒发 50 万推送还是很简单的,每秒处理 50 万请求就有点太不靠谱了,而且可以数据不变更不推送,这样推送次数明显变少了吧,再者如果数据是类线性变化的话,还可以客户端计时自己加,然后服务端没过一段时间推送正确值修正就可以了,这样推送量有变低了
    grayon
    grayon
    Aug 9, 2016
    43
    前段加随机延时错峰,后端数据库用内存数据库,硬盘 IO 耗时高
    用 C 写服务端 socket 处理 http 请求
    soli
    soli
    Aug 9, 2016
    44
    做成可横向扩展的,然后上 50 台机器抗。

    任何偏工程性的技术问题都是钱的问题。
    lecher
    lecher
    Aug 9, 2016
    45
    这种如果 50w 客户端的请求内容没有用户状态,不同用户请求同样参数的返回值一致,数据只有添加没有失效,客户端不提交更新数据,缓存可破。就走 cdn 的分发流程,直接多布几台机器分担负载。
    zhchyu999
    zhchyu999
    Aug 9, 2016
    46
    如果是拉取更新的数据,可以用推的方式,如果没有更新就不推,这样服务器负载就下来了
    realpg
    realpg
    Aug 9, 2016
    47
    前些天做过一次类似的项目,不过我只出运维和生产环境架构设计
    不过三五万预算,买个思路差不多,买全套实现有点太扯了
    wander2008
    wander2008
    Aug 9, 2016 via iPhone
    48
    @9hills 几百万招一个人…不是一群人。😄
    wander2008
    wander2008
    Aug 9, 2016 via iPhone
    49
    不知道 12306 有没有这样大的并发。在春节期间
    wander2008
    wander2008
    Aug 9, 2016 via iPhone
    50
    gfw 也可能有这么大的并发要求?
    ranran
    ranran
    Aug 9, 2016❤️1
    51
    奇怪,你说只是帮别人提问,需求都转过来了,联系方式反而不转过来,几个意思?既然如此,我来转过来吧。联系方式没抹掉就在其中。

    《并发处理-钱能解决不叫事_精易论坛》
    http://bbs.125.la/thread-13925175-1-1.html

    以下全部为原文内容:

    1 ,公司网站是一个 秒访问量在 50W 你觉得我在吹牛 其实没有。情况属实。

    公司困境 公司有 50W 个客户 (可以理解成一台电脑)每个电脑需要在 5 秒内 访问一次公司网站,公司页面不需要用户操作,任务由客户 Duan 每时每客在读
    公司的一个页面 ,这个页面会获取数据库内容返回给客户 Duan 。

    虽然在每 5 秒访问一个,可是如果 50W 个用户有几率在同时一秒访问 可能在 10W 左右 那么服务器数据库就瘫痪

    2 ,程序员可部署 站群服务器 客户 Duan 这个难题,如果当您看到 请你帮帮我,公司每天都在亏钱,

    3.本公司 为正规注册广告公司,业务不仔细详说,以上信息真实,不是吹牛没必要,

    联系电话 18778338069 QQ : 67205899 1244067411

    精易网站有几个帮过没能解决 在此表示感谢。


    补充内容 (2016-8-9 10:42):
    本人前期实验 1 号服务器装 网站 2 号服务器装数据库 1-2 号服务器内网 PHP 内容的连接数据库 读取数据库 写入数据库 PHP 没有任何处理

    补充内容 (2016-8-9 10:43):
    硬件 32G 8H 200M 2 号服务器在 2000 时基本 CPU 百分百 死掉的
    SlipStupig
    SlipStupig
    Aug 9, 2016
    52
    先去买一条专线,最少需要 50G 带宽,其它再说
    ericls
    ericls
    Aug 9, 2016 via iPhone
    53
    我有办法实现
    bigapple111
    bigapple111
    Aug 9, 2016
    54
    @sujin190 赞同,
    1.从减少每次请求创建连接的资源消耗开始着手
    2.优化任务处理模型,尽量不要占用 IO 的资源
    3.系统内部分布式处理,网络接入层只负责保持用户连接,具体业务丢该下层服务处理
    4.不死才有战斗力
    bigpigeon
    bigpigeon
    Aug 9, 2016
    55
    DNS 负载均衡->nginx 的 upstream->数据库读写分离->数据库集群->业务逻辑分离
    可以按这个思路优化
    goodryb
    goodryb
    Aug 9, 2016
    56
    硬件方面,首先带宽得够,然后负载均衡得有,业务服务器部署多台,数据库前面加缓存,然后是 CDN 缓存大法
    软件方面可以看看 54 楼的建议

    参考原帖里面的建议,找个云服务商来解决这个问题。
    ykrl089
    ykrl089
    Aug 9, 2016
    57
    @pi1ot 并发 50w hello world 都不是那么容易的
    TangMonk
    TangMonk
    Aug 9, 2016
    58
    openresty 即可
    zeroJason
    zeroJason
    OP
    Aug 9, 2016
    59
    发的太勤了。。被暂停回复了。。那人的企鹅 12440+67411 , 那个人的联系方式,应该是不懂部署负载均衡什么的,问题也应该没有我发的那么严重,原谅小菜鸟不是很懂这块乱提问。有大神愿意解决这个问题,可以去联系联系他,看着那人应该是非常着急了,只能帮到这了。
    @ranran 没发联系方式,是觉得不礼貌,之后征求同意了想发,结果不能发了,感谢您帮忙发出来。

    非常感谢各位大神的帮助。有愿意帮助他的,请联系他的 qq 。
    weisdong
    weisdong
    Aug 9, 2016
    60
    看到以上各位说的,我想起来一个段子:一滴水重的物体从 5000 米高空落下会对人造成什么伤害? 其实可以换个角度考虑下,这个老板的预算就 3-5 万,各位觉得会真有那么大并发? 我严重怀疑老板把并发的意思理解错了,真就应了那句话:认真你就输了。
    just13
    just13
    Aug 9, 2016 via iPhone
    61
    有推云主机的也是醉了, 任何云主机的 load balanace 方案能帮摆平 5 千到 2 万并发已经得看业务复杂程度了, twitter 、 instagram 做大了一样得从 AWS 撤, 50w 并发的静态输出都能跑死几个机柜的网卡了
    jasontse
    jasontse
    Aug 9, 2016 via iPad
    62
    你做的是高频交易吗
    firefox12
    firefox12
    Aug 9, 2016
    63
    你想想已经有 50 万在线客户的业务,怎么可能突然重新起炉灶 然后一台主机搞定?

    参照一下 现有的服务器数目 负载 流量, 大概的情况就知道了。 这种标题真是浪费大家的时间。
    keller
    keller
    Aug 9, 2016
    64
    1.降低每秒并发请求,将客户端数据缓存延时提交
    2.如果服务端要下发命令或者要更新客户端数据 可以用 socket 长链接下发命令。
    3.静态资源全部扔到 cdn 。
    subpo
    subpo
    Aug 9, 2016
    65
    几百万够招人?几亿差不多吧...
    j4fun
    j4fun
    Aug 9, 2016
    66
    看了下回复的需求, 50W 客户 5 秒访问一次。。。算下来 CPS 也就 10W 吧,而且也没说要马上回应,可以做一下流控,比如平均 0.5s 回复一个,那么 CPS 也就差不多 5W 了。 QPS 也就 2 、 3 十万。这并不难= =
    msg7086
    msg7086
    Aug 9, 2016 via Android
    67
    预算先加两个零我们再讨论实现?
    ret2where
    ret2where
    Aug 9, 2016
    68
    mariotcp mariotcp 长连接
    hoythan
    hoythan
    PRO
    Aug 9, 2016
    69
    @pi1ot 我表示输出 50 万次 hello world 真的需要优化...比如滚屏加载 超过删除 占位等等...不然用户吃不消
    ovear
    ovear
    Aug 9, 2016
    70
    :doge: 好奇,尝试联系了下。。
    然后就是
    公司副总 - 3 把手 - 直接切入正题 - 多少 RMB 解决
    ovear
    ovear
    Aug 9, 2016❤️1
    71
    @ovear 擦 没写完就发出去了。。
    然后就迷之不理人。。想尝试的谨慎,搜一下那两个 qq ,有惊喜。。
    erevus
    erevus
    Aug 9, 2016
    72
    如果用户只是去读取的话那简单,后端每隔 5 秒生成一个 html 发到 cdn 上。
    shiny
    shiny
    PRO
    Aug 9, 2016
    73
    看业务类型啊!!
    wy315700
    wy315700
    Aug 9, 2016
    74
    假设是 50 万 QPS ,一条请求 1KB(因为是网页, 1KB 肯定有吧)

    那一秒就是 500MB

    也就是 4Gbps ,先不管网卡

    然后按照当前云服务的价格,按照 100/Mbps/月算, 4Gbps 一个月的价格差不多是 40 万
    50vip
    50vip
    Aug 9, 2016
    75
    可以去导流去做 ddos ,赚钱老多了~
    lovedboy
    lovedboy
    Aug 9, 2016❤️1
    76
    我就简单算一下流量哈:

    50 万并发,算每个请求响应是 100ms 吧, 1s 就是响应 500W 次。
    假如 1 次请求数据大小的 1KB 吧,这个对于网页来说很小很小了吧...也就是 500WKB ,也就是 5 个 G 。

    换算成带宽也就 50 个 Gb 吧。
    lesliefree
    lesliefree
    Aug 9, 2016
    77
    感觉无解,老板觉得花钱就行了,没钱买机器, fenng 说过技术问题长期被低估短期被高估
    lesliefree
    lesliefree
    Aug 9, 2016
    78
    @ovear 搜了世界真奇妙
    Quaintjade
    Quaintjade
    Aug 9, 2016
    79
    @ovear 搜 QQ 号结果果然很亮……
    v2exhehehehe
    v2exhehehehe
    Aug 9, 2016
    80
    易语言和外 G ,这个牛
    Penton
    Penton
    Aug 9, 2016
    81
    家美装饰有限公司 ????????
    Penton
    Penton
    Aug 9, 2016
    82
    glogo
    glogo
    Aug 9, 2016
    83
    QPS 50w 的站,有点厉害
    walkman660
    walkman660
    Aug 9, 2016
    84
    3w-5w 的预算解决这样的 50W 并发。。。
    搭车同求
    ykrl089
    ykrl089
    Aug 9, 2016
    85
    @ranran 一台服务器肯定死, 就是小型机估计都得死。考虑下改构架吧。
    sopato
    sopato
    Aug 9, 2016
    86
    搜了 QQ 什么的,好犀利哈哈。
    mymike
    mymike
    Aug 9, 2016
    87
    需求有点扯,然而 push 最容易搞定了
    icegreen
    icegreen
    Aug 9, 2016
    88
    和我之前项目挺像, 浏览器五秒刷新一次股票行情;
    jhaohai
    jhaohai
    Aug 9, 2016
    89
    学学小米,直接在前端解决并发问题, 99%直接返回 loading 的动图, 1%做真正的处理
    imyip
    imyip
    Aug 9, 2016 via Android
    90
    亲身经历 活动站需求方预计 10 万并发 最后当日访问量不足 1 万
    Canrz
    Canrz
    Aug 9, 2016
    91
    @imyip 哈哈,这就尴尬大发了
    alexapollo
    alexapollo
    Aug 9, 2016
    92
    典型不动架构就设计啊。。
    ipconfiger
    ipconfiger
    Aug 9, 2016
    93
    我就是想知道楼举是真有这么大流量的需求还是就是纯粹来消遣大家的
    wayslog
    wayslog
    Aug 9, 2016 via Android
    94
    @zeroJason 这个需求……用个队列不就解决了么……
    qhxin
    qhxin
    Aug 9, 2016
    95
    “一秒钟五十万的并发”

    你们那儿并发是按秒算的?
    flynaj
    flynaj
    Aug 9, 2016
    96
    分流一下就好了,先买 100 台服务器。分散过去就行。
    zhx1991
    zhx1991
    Aug 9, 2016
    97
    至少有个场景吧

    访问数据库还是缓存

    本地还是远程调用

    啥也没有...

    另外讲一句 500K 的 qps 是很大的
    ovear
    ovear
    Aug 9, 2016
    98
    @lesliefree
    @Quaintjade
    现在 qq 签名已经变成了
    本人公司副总 - 公司 3 把手 - 不懂技术 - 提供站群服务器 - 解决 50W 并发,你没有看到错.
    看来已经"解决"了 →_→
    manhere
    manhere
    Aug 9, 2016
    100
    原来 19 楼是采集贴,原帖天涯,有照片。
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5242 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 285ms · UTC 03:19 · PVG 11:19 · LAX 19:19 · JFK 22:19
    ♥ Do have faith in what you're doing.