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

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

  •  
  •   saintatgod · Dec 23, 2020 · 6353 views
    This topic created in 1964 days ago, the information mentioned may be changed or developed.

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

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

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

    A: 我活了 30 光年了
    yzbythesea
        27
    yzbythesea  
       Dec 23, 2020 via iPhone
    几千万,何方神圣?求引见。

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

    实在对不起,拉低平均技术水平了
    clxtmdb
        44
    clxtmdb  
       Dec 24, 2020
    赶紧通知国安局,这是外星人,用的外星科技
    clxtmdb
        45
    clxtmdb  
       Dec 24, 2020
    估计这人连 qps 是啥都不知道吧,科普一下: https://testerhome.com/articles/21443
    firefox12
        46
    firefox12  
       Dec 24, 2020
    来引流的吗? https://github.com/xiaojiaqi/10billionhongbaos 1400 万 QPS 腾讯 2015 年 摇一摇的峰值
    MinQ
        47
    MinQ  
       Dec 28, 2020
    4C8G 的机子用 Solr 单接口压测干到过 5000qps
    gogogochaogg
        48
    gogogochaogg  
       Dec 30, 2020
    @xuanbg tomcat 服务器不就有瓶颈吗,1000 左右,请问下,几千是怎么做到的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   866 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 232ms · UTC 20:22 · PVG 04:22 · LAX 13:22 · JFK 16:22
    ♥ Do have faith in what you're doing.