V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bmpidev2019
V2EX  ›  程序员

SO 只用了 9 台 Web 服务器

  •  
  •   bmpidev2019 ·
    madawei2699 · 55 天前 · 10507 次点击
    这是一个创建于 55 天前的主题,其中的信息可能已经有所发展或是发生改变。
    stackexchange.com/performance

    StackOverflow (全球排名 188 )每月几亿的 PV (每月 55TB 网络流量),只需要 9 台 Web 服务器( RAM 64GB ),4 台数据库服务器。不过开销最大的还是用了 3 台 ES ( RAM 196G )。

    技术栈是 C#(.Net),还是挺强的。
    96 条回复    2021-11-23 19:59:21 +08:00
    felixcode
        1
    felixcode  
       55 天前   ❤️ 4
    不用 java ,这能算企业级应用吗?
    狗头;)
    Remember
        2
    Remember  
       55 天前
    主要是 cdn 的功劳吧。
    matrix1010
        3
    matrix1010  
       55 天前   ❤️ 12
    再告诉你个挺强的。Instagram 被 Facebook 收购时只有 7 个员工,还是用 Python/Django 写的。月活没几亿至少也几千万
    matrix1010
        4
    matrix1010  
       55 天前
    @matrix1010 记错了,包括创始人 13 个
    salmon5
        5
    salmon5  
       55 天前
    用了 java 后,服务器翻翻
    pigspy
        6
    pigspy  
       55 天前
    但是访问 StackOverflow 还是有点慢,不知道是我的网络原因还是服务器的原因
    CodeCodeStudy
        7
    CodeCodeStudy  
       55 天前
    相对于公司收入,这点服务器开支算不了什么吧
    makelove
        8
    makelove  
       55 天前
    有些网站的架构就是流量大,技术含量很一般,比如上面的 instagram
    eason1874
        9
    eason1874  
       55 天前
    300 REQ /S
    Peak: 450 req /s

    每秒请求数这么低吗,包括静态内容?
    bmpidev2019
        10
    bmpidev2019  
    OP
       55 天前 via iPhone
    @eason1874 平均啊,一个月几亿 PV ,平摊到秒也就几百。很多高并发系统只是为了应对秒杀场景。
    locoz
        11
    locoz  
       55 天前 via Android
    很合理。基本都是静态内容,大部分人也只是看内容而已,主要靠 CDN 扛就行了。
    matrix1010
        12
    matrix1010  
       55 天前
    @makelove 不要只看到技术,我想表达的是在十年前,一个高流量且比较复杂的 App 只要 13 个人就能完成开发。而反观国内创业公司,很多没有 Instagram 复杂和流量的公司却至少 4 ,50 人
    sujin190
        13
    sujin190  
       55 天前
    不是我说,这已经 2021 年了,大站点每日内部外部各种请求调用的都奔着万亿级去了,小站点依然受益于各种基础设施的进步,9 台那么大内存的 web 服务器处理每月几亿 pv 绰绰有余了吧,你说每月处理数百亿 pv 我感觉都能信了
    dangyuluo
        14
    dangyuluo  
       55 天前
    9 台后端服务器,每个月几个 million 的 CDN 账单(夸张)
    eason1874
        15
    eason1874  
       55 天前
    @bmpidev2019 我的意思是,这个数据是指全部请求还是有效请求?全部请求应该不止,有一些傻缺爬虫,几个 IP 就能带来几十并发,疯狂请求,不拉黑它们都不停下来

    有效请求 300 REQ /S 倒不奇怪。看来他们是只统计了能通过防火墙的流量,被挡出去的不计入
    BrettD
        16
    BrettD  
       55 天前 via iPad
    @pigspy 海外访问是秒开
    westoy
        17
    westoy  
       55 天前   ❤️ 2
    @matrix1010

    业务简单而且迭代慢啊
    我 05 年靠一台单核 P4 都能撑几十万 PV
    早期 douban 用一台双核 amd 撑了几百万 PV 一天的时候洪博士还去 quixote 的邮件列表 show 了下
    当时互联网还有个改版魔咒, 业务大改都很慎重的
    后来 chrome 拖着 firefox 开始刷版本号,PM 成为了一个独立职业, 感觉整个行业基本都奔着快速迭代快速试错和大而全去了
    bmpidev2019
        18
    bmpidev2019  
    OP
       55 天前 via iPhone
    @eason1874 我算了下感觉应该是有效用户请求,之前我做了一个爬 ins 的垃圾站,峰值爬虫一天五十万请求,是实际用户请求的十倍多,我很多时间在处理爬虫请求。
    SuperManNoPain
        19
    SuperManNoPain  
       55 天前
    语言有两种,一种被人黑的,一种没人用的😅
    bmpidev2019
        20
    bmpidev2019  
    OP
       55 天前 via iPhone
    @bmpidev2019 当时一个月大概 1T 的网络流量,三台 1 核 1g 的服务器,几乎没啥负荷。
    lostberryzz
        21
    lostberryzz  
       55 天前
    因为这公司业务相对简单,读多写少,访问量不能说明什么,现在 app 时代,pv 多少也不重要了,更何况 alexa 排名也不高 orz
    ytmsdy
        22
    ytmsdy  
       55 天前
    其实相较于现在的服务器性能,很多完全够用的。
    根本没有到需要压榨性能的地步。
    跑得慢,绝大多数都是因为写的不好!
    matrix1010
        23
    matrix1010  
       55 天前
    @westoy 好奇去查了查洪博士,创立的爱因互动连官网都打不开了。豆瓣也是难以找到合理的盈利模式。挺感慨
    ColinWei
        24
    ColinWei  
       55 天前   ❤️ 25
    大言不惭的人真多,承认别人优秀这么难吗
    mytsing520
        25
    mytsing520  
       55 天前
    看了一下,感觉大部分请求都被 CDN 吃掉了,由 HA 把请求分布到 web 服务器,实际到网站侧压力极低,而不是说他这个架构能吃得下那么多
    icyalala
        26
    icyalala  
       55 天前
    WhatsApp 被收购时,全部工程师只有 32 个,那可是亿级月活的 IM 服务,服务端 Erlang 。
    技术强终究还是看人。
    12101111
        27
    12101111  
       55 天前
    @eason1874 stackexchange 家族的网站不需要爬虫, 有直接提供数据下载的地方
    https://meta.stackoverflow.com/questions/295508/download-stack-overflow-database
    liprais
        28
    liprais  
       55 天前
    @matrix1010 你想多了,月活百万的时候他们就扛不住被 fb 收购了
    matrix1010
        29
    matrix1010  
       55 天前
    @liprais 你的依据是什么?这是 2012 年 4 月 13 日的新闻,每天新用户超过 100 万。而 facebook 宣布收购 ins 是 4 月 9 号,时间差不多。https://techcrunch.com/2012/04/13/instagrams-user-count-now-at-40-million-saw-10-million-new-users-in-last-10-days/
    wanguorui123
        30
    wanguorui123  
       55 天前
    主要还是看架构
    CallMeReznov
        31
    CallMeReznov  
       55 天前   ❤️ 1
    我记得谁之前说过,除了 CDN 分摊了压力之外,游客和注册会员游览的数据也是分开的.
    未注册的游客游览的数据全是隔几分钟才更新一次的静态帖子,只有注册用户才是最新的即时帖子.
    cmdOptionKana
        32
    cmdOptionKana  
       55 天前
    @liprais 不是服务器扛不住,而是因为实在给得太多扛不住。当时 Twitter 开价 5 亿美元想收购 Ins ,Ins 就犹犹豫豫只是考虑,过了没多久 Facebook 一出价就是 10 亿美元,而且口头承诺不干预 Ins 的发展,让 Ins 可以继续自己管理公司,如此优厚的条件,实在太难拒绝。
    janxin
        34
    janxin  
       55 天前
    @icyalala 确实,人的水平决定了架构与技术能否被充分压榨
    liprais
        35
    liprais  
       55 天前
    @cmdOptionKana ..."月活百万的时候他们就扛不住(很快)被 fb 收购了 "
    lidongyooo
        36
    lidongyooo  
       55 天前   ❤️ 30
    进来之前还以为 SO 是啥呢,不输全称是为了键盘的寿命着想吗?佛了。。。
    hjahgdthab750
        37
    hjahgdthab750  
       55 天前
    ins 的 django 和 python 大概率不是外面人用的版本,应该是自己根据业务特性深度优化过的吧
    janxin
        38
    janxin  
       55 天前
    @liprais 这本书有中译本,不过这个描述好像确实没什么印象。
    janxin
        39
    janxin  
       55 天前
    @hjahgdthab750 ins 的官方博客有介绍过,可以翻一下。

    在早期还是官方版本吧,起码 FB 收购的时候应该是的。根据关于 Django 的介绍里面用的 1.3 版本,后面升级的 1.8 版本。
    kisshere
        40
    kisshere  
       55 天前
    借个楼问一句,ES 最大支持 32GB 内存,SO 家的 ES 服务器内存是 196GB ,多余的不浪费了么?
    easylee
        41
    easylee  
       55 天前
    以为你说的是 so 搜索引擎,不建议用简称啊
    thetbw
        42
    thetbw  
       55 天前
    @kisshere 你看到的那个是设置 java 的堆内存最好不超过这么大吧,可能还有堆外内存的使用
    raycool
        43
    raycool  
       55 天前
    @hjahgdthab750 当初人员那么少,应该不会再有人力深度定制
    wellsc
        44
    wellsc  
       55 天前
    当年 github 也才十几个人
    otakustay
        45
    otakustay  
       55 天前
    @pigspy #6 多数是你网络问题,这世界上比 stackoverflow 快的网站屈指可数
    yazoox
        46
    yazoox  
       55 天前   ❤️ 1
    有一说一,.net core 的技术栈,也就是国内用得少(国内都是 java ),在国外,很多公司,都是用的.net core 那一套
    lower
        47
    lower  
       55 天前
    怎么又讨论这个问题了?
    当年在知乎这个问题都讨论烂了,当时 c#阵营的人拿这个把其他阵营的怼了个遍😂
    zeni123
        48
    zeni123  
       55 天前
    450 req/s 一台服务器也可以吧
    cccssss
        49
    cccssss  
       55 天前
    SQLServer 的 1.5TB RAM 是啥意思?
    bmpidev2019
        50
    bmpidev2019  
    OP
       55 天前 via iPhone
    @cccssss 合计 1.5T 吧,单台数据库也就几百 G ,之前我挖矿的 GPU 服务器单台都 200G 内存了
    documentzhangx66
        51
    documentzhangx66  
       55 天前
    水平问题。

    我司一个每天不到一百访问量的门户系统,使用了 6 台物理服务器,做了虚拟化,单台配置:

    128G DDR4-2933 内存,

    CPU Intel Gold 6226R * 2 ,14nm/16C32T/2.9-3.9GHz/22MB/150W

    软件产品是北方某个 90%都是小妞的公司,导致这套系统,每台服务器,CPU 长期 1%使用率,内存 78%使用率。

    你就说气不气?
    huangzxx
        52
    huangzxx  
       55 天前
    @kisshere #40
    可能一台机多个 ES 实例吧
    shayuvpn0001
        53
    shayuvpn0001  
       55 天前
    so 缺的是一个国内的产品经理,一个秒杀活动就能让 so 现出原形(还有微软)
    zhuangzhuang1988
        54
    zhuangzhuang1988  
       55 天前
    创始人 blog 上有更加细节的
    https://nickcraver.com/blog/
    bing 也是在.netcore 上的
    zhuangzhuang1988
        55
    zhuangzhuang1988  
       55 天前
    看当前数据 才厉害
    cpu 内存, 都占用得很低.
    bmpidev2019
        56
    bmpidev2019  
    OP
       55 天前 via iPhone
    @zhuangzhuang1988 占用低的话就没必要上这么高的规格了,最好把硬件榨干才行
    gefangshuai
        57
    gefangshuai  
       55 天前 via iPhone
    @felixcode 会说人话吗
    felixcode
        58
    felixcode  
       55 天前
    @gefangshuai
    听不懂人话吗?
    lbp0200
        59
    lbp0200  
       55 天前   ❤️ 9
    从中国派个产品经理过去,很快他们人手就不够了
    pengtdyd
        60
    pengtdyd  
       55 天前
    我觉的 StackOverflow 缺一个垃圾的产品经理,有了某些产品经理就是 10 倍的服务器也扛不住,就像 CSDN 一样再加点垃圾广告,至少还要再加 5 倍!
    billzhuang
        61
    billzhuang  
       55 天前
    @zhuangzhuang1988 这个人不是创始人吧,是工程师,另外,这几天他刚跳槽去了微软。
    billzhuang
        62
    billzhuang  
       55 天前
    @zhuangzhuang1988 查了下,是 Architecture Lead
    sunhelter
        63
    sunhelter  
       55 天前
    StackOverflow 是很强啊,Dapper 就是他们开源出来的,轻量 ORM 效率王者级别的存在。
    dexterzzz
        64
    dexterzzz  
       55 天前   ❤️ 3
    StackOverflow 数据库使用,400 亿的数据
    https://www.tarynpivots.com/post/migrating-40tb-sql-server-database/
    zhuangzhuang1988
        65
    zhuangzhuang1988  
       55 天前
    @billzhuang 好吧。
    eclipselu
        66
    eclipselu  
       55 天前   ❤️ 1
    @westoy lol quixote 回忆杀,自己那会刚毕业用的第一个 web framework 。不好意思跑题鸡蛋里挑骨头一下:好像是叫洪教授
    JudyHal
        67
    JudyHal  
       54 天前   ❤️ 3
    不知道要说多少次才能唤醒大家,这些只是正常不能再正常的数据,中国被 Java 这种玩意毒害太深,以至于都忘了程序员到底能跑多快了,现在除了中国已经没有任何一个国家用 Java 和 Go 了
    fanshaohua
        68
    fanshaohua  
       54 天前 via Android
    @yazoox 我们公司就是主力.net core ,不太要求性能的用 Python...
    dayeye2006199
        69
    dayeye2006199  
       54 天前   ❤️ 11
    我觉得有一个点大家都关注的很少 - 国外很多创业公司或者小企业,能够以很精简的人员和技术架构,做十分巨大的业务量(不是简单的以峰值 QPS 之类来衡量,而是能做实在的影响很多人工作生活的产品);在有了钱和业务量之后,这类公司也没有一味的盲目扩张人员和做不同的业务,而是依然保持了这个精简做事的方法,继续做自己擅长的事情。

    在技术方面,很多公司写的介绍技术方案的博客都十分的朴素,解决方案在国内看来甚至都有些简陋。
    例如 github 介绍他们分库的方案: https://github.blog/2021-09-27-partitioning-githubs-relational-databases-scale/
    notion 价绍他们分表的方案: https://www.notion.so/blog/sharding-postgres-at-notion

    读来都语言平实,很多人看了之后都很惊讶他们现在才在做分表分库。

    这种对业务和技术比较务实的态度,追求简单但是高效达成目标的做事方法,我觉得是很值得夸赞和学习的。
    leighton
        70
    leighton  
       54 天前   ❤️ 4
    @JudyHal #67
    "现在除了中国已经没有任何一个国家用 Java 和 Go 了"
    Google Amazon: Am i a joke to you?
    hello2090
        71
    hello2090  
       54 天前   ❤️ 1
    @JudyHal 澳大利亚的 java 程序员想问问,程序员到底能跑多快? 9.15 秒?
    weizhen199
        72
    weizhen199  
       54 天前
    @JudyHal 你要是不带上 java 我可能还要犹豫 35ms
    hand515
        73
    hand515  
       54 天前
    一些人的无知言论,看了就让人想笑
    darkengine
        74
    darkengine  
       54 天前
    @JudyHal 话不要说得这么绝
    skyworker
        75
    skyworker  
       54 天前
    怎么没上微服务? 架构师不行啊
    YUCOAT
        76
    YUCOAT  
       54 天前
    他们的 APP 之所以只有几个员工,一是因为他们的产品比较简约,功能比较少,而且不用组建庞大的运营团队来逐个审查用户上传的图片是否合规。
    entersu
        77
    entersu  
       54 天前
    主要是内容检索,只要 es 索引建立的好,就不会用太多机器,存储不值钱,主要是内存和带宽
    wangyzj
        78
    wangyzj  
       54 天前   ❤️ 2
    面试官:请问你有千万并发的经验吗?
    Jwyt
        79
    Jwyt  
       54 天前
    @JudyHal 所以程序员到底能跑多快?和刘翔一样快么,合着 jcp google 这么好为中国开发维护 java 、go ?
    whyso
        80
    whyso  
       54 天前
    @JudyHal #67 你是来搞笑的吗?
    leeg810312
        81
    leeg810312  
       54 天前 via Android
    人家技术栈和架构设计就是好,说不过是用了这个,用了那个,这些不都是技术栈和架构的一部分吗?不喜欢别人的技术栈就不承认别人做得好,这是什么心态呢?我虽然不喜欢 go ,但我觉得 dapr 做得不错。
    penll
        82
    penll  
       54 天前
    @JudyHal 怀疑你在反向黑 c#。java 和 go 占有率,要不要这么胡诌
    fxxkgw
        83
    fxxkgw  
       54 天前
    @JudyHal 这种言论怎么会出现在这而且还有点赞。。。简直了
    raptor
        84
    raptor  
       54 天前
    以 SO 那帮人的技术,就是换成 PHP 来写,用的服务器也差不了多少。

    关键还是在人。
    hand515
        85
    hand515  
       54 天前
    语言的性能差异在业务系统中真的能忽略不计,好的设计才是关键
    wy315700
        86
    wy315700  
       54 天前
    每月几亿的 PV 其实不高

    只能说,,国内互联网的市场大于任何一个其他单一地方的市场。。。
    liuxu
        87
    liuxu  
       54 天前
    没有最强的语言,只有最强的程序员
    jerry12547
        88
    jerry12547  
       54 天前
    @fxxkgw 可能自己给自己点赞?
    FaiChou
        89
    FaiChou  
       54 天前
    虽然知道 SO 是 stackoverflow 的缩写, 不过只看标题还没敢下结论是它.

    不如下次直接叫爆栈网.
    roundgis
        90
    roundgis  
       54 天前
    SO 流量虽然比不上各大电商平台

    但是

    它对我来说有用得多。
    dexterzzz
        91
    dexterzzz  
       54 天前
    @cccssss sql server 早就已经进化到内存数据库了,和 sap hana 类似,内存列式存储表
    yc8332
        92
    yc8332  
       54 天前
    每月几亿 PV 。放国内毛毛雨吧。
    LessonOne
        93
    LessonOne  
       54 天前
    @JudyHal 为什么各大排行 Java 都是前三?
    cym1102
        94
    cym1102  
       54 天前
    全是数据库,中间件和 CDN 的功劳, 你用什么语言搞这一套都是一样的. 压力根本不在服务端语言上
    bmpidev2019
        95
    bmpidev2019  
    OP
       54 天前 via iPhone
    @yc8332 全球排名 188 名( similar web 数据),并不是小站。
    @cym1102 的确和 web 服务关系不大,但这也有很复杂的工程问题,并不是无脑上就可以达到这种效果
    agagega
        96
    agagega  
       54 天前
    @dayeye2006199
    这也是 Ruby 在国外远比在国内流行的一个原因吧:开发效率高,强调单兵作战,有黑魔法,不好吹出花
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1075 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:42 · PVG 02:42 · LAX 10:42 · JFK 13:42
    ♥ Do have faith in what you're doing.