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

十万并发硬件要求,ECS,RDS,REDIS,不考虑项目本身响应速度,以静态页面响应为准

  •  1
     
  •   yrebom · 2018-09-28 16:23:56 +08:00 · 3517 次点击
    这是一个创建于 2241 天前的主题,其中的信息可能已经有所发展或是发生改变。

    服务器以阿里云云产品为主 运行环境:Nginx + uwsgi + django 项目为视频直播+leancloud 聊天。 如果单台机器的话至少需要配置: ECS, RDS, REDIS:几核几 G。实例规格,带宽

    14 条回复    2018-10-12 17:23:48 +08:00
    fiht
        1
    fiht  
       2018-09-28 16:26:54 +08:00
    以静态页面响应为准: 静态页面丢到 CDN 要多少并发来多少并发。
    别的建议买按量付费的主机然后一步步做性能测试,扛不住了再加,扛不住了再加。
    yrebom
        2
    yrebom  
    OP
       2018-09-28 16:31:38 +08:00
    @fiht 不好意思。。刚发完。才想到。。 如果只是静态资源的话没什么可别性。。 还是要考虑接口的 io。我的疑问是如果是 10w 并发。是不是数据库或者 redis 的连接数必须也应该等于这个并发数。。不然超过连接数的请求会响应失败。
    whileFalse
        3
    whileFalse  
       2018-09-28 17:27:49 +08:00
    楼主是不是想多了。一般能达到 10w 并发的公司,是不需要上论坛问的。
    yrebom
        4
    yrebom  
    OP
       2018-09-28 17:38:30 +08:00
    @whileFalse 恩。是呀。。 没经历过 10w 的并发。所以来这里看大佬们的经验,以及一些建议,大致考虑方向。
    WuwuGin
        5
    WuwuGin  
       2018-09-28 17:41:29 +08:00 via Android
    @yrebom 一般优化的思路是,遇见问题解决问题,提前优化有的时间得不偿失。
    GoForce5500
        6
    GoForce5500  
       2018-09-28 17:45:27 +08:00
    @yrebom 肯定是按照一定比例的,数据库数百 TPS,Redis 数万 TPS(redis-benchmark 在 Docker 里 4C4G 随便跑 10W+),Nginx 跑几十 KB 的静态页面在笔记本上都能三万 TPS,打满带宽毫无压力,分级更新分散压力就行。
    yrebom
        7
    yrebom  
    OP
       2018-09-28 17:59:08 +08:00
    @WuwuGin 恩。是的。
    @GoForce5500 没经验。多谢大佬指点。 这里带宽打满意思是:如果是 10M 带宽,接口响应数据为 100kb。是不是就是 102 个人把带宽打满了。?分级更新分散压力指的是数据库的还是负载均衡什么得。?
    blless
        8
    blless  
       2018-09-28 18:02:34 +08:00 via Android
    单机没得说,就看业务能不能拆,按我接触的业务来说大部分都能拆,前端用 dns 负载均衡 挂 10 个 ip 一台就 1w 了
    blless
        9
    blless  
       2018-09-28 18:06:52 +08:00 via Android
    🌚没看到 python,这个肯定能拆了,pil 单核限制不拆 10w 不如求神仙。另外 python 接口响应速度量级一大协程线程切换效率都不理想,这个真的是语言限制了…
    yrebom
        10
    yrebom  
    OP
       2018-09-29 09:16:26 +08:00
    @blless 感谢指教,业务拆分是指微服务化吗。? pil 是指服务器吗。?
    blless
        11
    blless  
       2018-09-29 13:06:23 +08:00 via Android
    @yrebom 分片啊 参考 redis 的分片机制 redis 集群就是这样的
    yrebom
        12
    yrebom  
    OP
       2018-09-29 15:36:22 +08:00
    @blless 恩恩。。 知道方向了。 谢啦。
    GoForce5500
        13
    GoForce5500  
       2018-10-03 09:23:01 +08:00   ❤️ 1
    楼上是想说 GIL 吧(Global Interpreter Lock)。
    @yrebom
    以下数据全部为假设。
    10 万请求,CDN 分流 5 万,Nginx 扛 5 万。
    Nginx 缓存分流 2 万,扔给后端 3 万请求,分散到 10 台应用服务器,每台平均 3 千。
    每台应用服务器的请求 80%可以在 Redis 里拿到数据,剩下 20%交给数据库,查询完成后把数据放到 Redis 里面。
    具体数据需要实测,毕竟业务不同,数据量不同,能缓存的比例不同,数据热点分布也不同。
    aliipay
        14
    aliipay  
       2018-10-12 17:23:48 +08:00
    @whileFalse 我是觉得楼主的 leader 可能懂一点技术又不太懂才会提出这样的需求
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   994 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:37 · PVG 04:37 · LAX 12:37 · JFK 15:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.