请教一个关于高并发的问题。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
saintatgod
V2EX    程序员

请教一个关于高并发的问题。

  • &nsp;
  •   saintatgod 2020-12-23 16:56:12 +08:00 5868 次点击
    这是一个创建于 1754 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近和人面试,聊起来业务高并发的问题,一个面试者跟我说在之前的业务系统中,单机的 QPS 峰值可以做到几千万,然后好奇的问了一下怎么做,但是感觉面试者并没有把事情说的太明白,对于这么高的并发我在业务中并没有遇到过,所以想请教一下论坛的兄弟,单台服务器是否可以做到几千万的 QPS,假设可以做的话,那么这服务器应该需要什么样子的配置。谢谢。

    48 条回复    2020-12-30 10:45:15 +08:00
    Jooooooooo
        1
    Jooooooooo  
       2020-12-23 17:00:39 +08:00   12
    说这个话的人要么不知道几千万究竟是多少, 要么不知道 QPS 是啥意思.
    maocat
        2
    maocat  
       2020-12-23 17:00:54 +08:00
    单台都可以搭个云了
    GM
        3
    GM  
       2020-12-23 17:12:13 +08:00
    说这个话的人要么不知道几千万究竟是多少, 要么不知道 QPS 是啥意思. +1
    chenqh
        4
    chenqh  
       2020-12-23 17:14:58 +08:00
    我不信,几千万的 QPS
    abersheeran
        5
    abersheeran  
       2020-12-23 17:15:59 +08:00
    他要是用的单机超算,勉强可以解决算力的问题。接下来需要解决网络带宽问题,一个请求、响应平均算 10kb 不过分吧,于是这个单机的带宽就要 1Tbs 。然后说说内存,Linux 内核,一个 TCP 连接大概 15kb 的样子,再加上你还得读数据到内存解析之类的,内存算你 1Tb,真不一定够用。
    YouLMAO
        6
    YouLMAO  
       2020-12-23 17:16:46 +08:00 via Android
    我们广告用了 56 个数据中心的 10 万容器,才 3000 万 QPS,你单台吊打我,桑心
    sagaxu
        7
    sagaxu  
       2020-12-23 17:17:53 +08:00 via Android
    你可能记错了,他说的是几千万字节每秒
    securityCoding
        8
    securityCoding  
       2020-12-23 17:18:08 +08:00
    zengming00
        9
    zengming00  
       2020-12-23 17:18:17 +08:00
    说这个话的人要么不知道几千万究竟是多少, 要么不知道 QPS 是啥意思. +2
    “单机的 QPS 峰值可以做到几千万”,真是太牛了
    sagaxu
        10
    sagaxu  
       2020-12-23 17:19:37 +08:00 via Android
    或者说的是并发长连接,不是请求数,长连接几千万不夸张。C10K 也只是连接数,跟请求数无关。
    cxe2v
        11
    cxe2v  
       2020-12-23 17:20:29 +08:00
    百度 2019 年春晚红包抗住了峰值 13.5M QPS,13.5M 等于 1350 万

    快把这个面试者找来,绑了献给国家,他居然有用一台机器顶一个百度的黑科技
    imbacc
        12
    imbacc  
       2020-12-23 17:21:09 +08:00
    serverless?
    wellsc
        13
    wellsc  
       2020-12-23 17:24:54 +08:00 via iPhone   2
    单机几百 qps 最多了
    janxin
        14
    janxin  
       2020-12-23 17:27:51 +08:00
    他可能并不知道他在说什么
    wysnylc
        15
    wysnylc  
       2020-12-23 17:31:15 +08:00
    一台,指只有一个公网 ip 的机房
    misaka19000
        16
    misaka19000  
       2020-12-23 17:33:41 +08:00
    1. 他不知道他在说什么
    2. 他对几千万的 QPS 没什么概念
    misaka19000
        17
    misaka19000  
       2020-12-23 17:34:25 +08:00
    Redis 这种纯内存的数据库单机也就能跑个 30~50 万的 QPS,他无论如何也不可能用单机搞出几千万的 QPS 的
    wednesdayco
        18
    wednesdayco  
       2020-12-23 17:42:42 +08:00
    怕不是把 pv 跟 qps 搞混了
    goinghugh
        19
    goinghugh  
       2020-12-23 17:44:50 +08:00
    @sagaxu 单机长连接几千万不夸张??
    sampeng
        20
    sampeng  
       2020-12-23 17:48:16 +08:00
    几千万?换我肯定低头看看他应聘的职位,如果只是研发,再见。。。如果是技术总监,应该轮不到我面。。再见。总之就是,听到这一刻,除非你是大厂的超级核心部门研发招聘,直接再见是没有错的。。
    fovecifer
        21
    fovecifer  
       2020-12-23 17:52:37 +08:00
    把万字去掉,对我来说都会有点挑战
    sampeng
        22
    sampeng  
       2020-12-23 17:52:59 +08:00
    不过单机是能做到千万 QPS 的。就是只是 udp 请求。ping 一台机器在内网里应该千万级的能做到。又没说 QPS 一定是 tcp 协议的。
    crclz
        23
    crclz  
       2020-12-23 17:55:27 +08:00   2
    他只不过是 2050 年误入时光机来到 2020 的一个工程师,他只是想找个工作,他有什么错?
    YouLMAO
        24
    YouLMAO  
       2020-12-23 18:01:03 +08:00
    @sampeng ping icmp 怎么可能千万了, 默认的路由器和交换机都限制 ICMP 包 5%带宽, 万兆网卡搞不定
    sagaxu
        25
    sagaxu  
       2020-12-23 18:01:09 +08:00 via Android
    @goinghugh C10K 是 1999 年,C10M 是 2012 年左右,每核支持 1M 连接,32 核扛个几千万应该可行
    huobazi
        26
    huobazi  
       2020-12-23 18:05:19 +08:00   2
    Q: 小伙子,你今年多大了?

    A: 我活了 30 光年了
    yzbythesea
        27
    yzbythesea  
       2020-12-23 18:12:53 +08:00 via iPhone
    几千万,何方神圣?求引见。

    给你一个概念,faang 这种级别的 infra core API 比如 authentication 大概这个级别。都是几百台的 fleet 。
    yzbythesea
        28
    yzbythesea  
       2020-12-23 18:14:20 +08:00 via iPhone
    @sagaxu 长连接几千万,万一那台机器重启了,你系统全宕机了。
    gogogochaogg
        29
    gogogochaogg  
       2020-12-23 18:29:30 +08:00
    @YouLMAO 这个就厉害了,请教下,10w 容器每次版本更新时候这得多久呀,是个什么策略
    Vegetable
        30
    Vegetable  
       2020-12-23 18:37:06 +08:00
    什么业务的峰值需要几千万 QPS ?
    yeqizhang
        31
    yeqizhang  
       2020-12-23 18:41:12 +08:00 via Android
    这都能来水一波,明摆着说的不对,面试不通过即可嘻嘻
    LoNeFong
        32
    LoNeFong  
       2020-12-23 18:51:50 +08:00 via iPhone
    唬住要 50k,唬不住要 5k
    YouLMAO
        33
    YouLMAO  
       2020-12-23 21:12:33 +08:00 via Android
    @gogogochaogg 每周发版的,啥意思?先灰度一台,再灰度一个地区,最后全量 56 个地区
    opengps
        34
    opengps  
       2020-12-23 21:31:00 +08:00
    几千万的 qps ?哪来的这么牛的业务场景。
    我自认为我经历过的 gps 数据收发集群业务算大的了,平均单条 200 字节 tcp 收发,单机器单应用单端口承载 50000 的连接,峰值 qps 尚且 5000,后来为了稳定故意下调了配置承载 2 万连接。
    即使我使用高配置换成多应用监听多端口,那么也不可能无视千兆网卡的约束。提高到几万应该没问题,但是绝对不可能用千万为单位。
    ryanbuu
        35
    ryanbuu  
       2020-12-24 01:03:58 +08:00 via iPhone
    一个接口几千万 qps 还有可能 但是...单台就有点过分了
    laminux29
        36
    laminux29  
       2020-12-24 02:34:07 +08:00
    @sampeng 你知道千万 QPS 的 UDP,每秒是多少数据量嘛?
    inhzus
        37
    inhzus  
       2020-12-24 08:38:47 +08:00 via iPhone
    什么业务都不用,纯 nginx 0b 静态页面距离几千万 qps 都至少差几十倍
    jorneyr
        38
    jorneyr  
       2020-12-24 09:33:18 +08:00
    他们一定掌握了核心科技,例如使用的是量子计算机。
    Leigg
        39
    Leigg  
       2020-12-24 10:11:58 +08:00 via iPhone   1
    不要紧,一个一个问题来问清楚,讲不清楚都是扯淡。首先是什么业务系统?然后目前日活多少?什么语言 /框架搭建的?后端架构是怎样的?这么大 qps 得有数据库集群吧?用的什么数据库?集群多少节点?一个请求从前端流向数据库的过程是怎样的?有资源竞争吗?如果有怎么解决的?
    这些问题能答清楚就可以了。
    xuanbg
        40
    xuanbg  
       2020-12-24 10:14:49 +08:00
    4C32G 的 ECS 上面,我的某几个接口做到了几千(万划掉)的 QPS 。
    YouLMAO
        41
    YouLMAO  
       2020-12-24 11:17:50 +08:00 via Android
    @xuanbg 行了,明天打款 10 亿,5000 万 QPS 系统你是包工头,赶紧去买 20 万个容器了老板催周一上线
    iceneet
        42
    iceneet  
       2020-12-24 11:31:49 +08:00
    QPS 几千万?? 我觉得他不了解 QPS 是什么
    sadfQED2
        43
    sadfQED2  
       2020-12-24 12:04:09 +08:00 via Android
    50 万 qps,我们就用了 64 台机器处理 http 请求,后面还有各种消费机器,总共可能 3 400 台机器吧

    实在对不起,拉低平均技术水平了
    clxtmdb
        44
    clxtmdb  
       2020-12-24 12:14:23 +08:00
    赶紧通知国安局,这是外星人,用的外星科技
    clxtmdb
        45
    clxtmdb  
       2020-12-24 12:26:18 +08:00
    估计这人连 qps 是啥都不知道吧,科普一下: https://testerhome.com/articles/21443
    firefox12
        46
    firefox12  
       2020-12-24 17:31:18 +08:00
    来引流的吗? https://github.com/xiaojiaqi/10billionhongbaos 1400 万 QPS 腾讯 2015 年 摇一摇的峰值
    MinQ
        47
    MinQ  
       2020-12-28 11:21:00 +08:00
    4C8G 的机子用 Solr 单接口压测干到过 5000qps
    gogogochaogg
        48
    gogogochaogg  
       2020-12-30 10:45:15 +08:00
    @xuanbg tomcat 服务器不就有瓶颈吗,1000 左右,请问下,几千是怎么做到的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     931 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 18:44 PVG 02:44 LAX 11:44 JFK 14:44
    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