服务器以阿里云云产品为主 运行环境:Nginx + uwsgi + django 项目为视频直播+leancloud 聊天。 如果单台机器的话至少需要配置: ECS, RDS, REDIS:几核几 G。实例规格,带宽
1
fiht 2018-09-28 16:26:54 +08:00
以静态页面响应为准: 静态页面丢到 CDN 要多少并发来多少并发。
别的建议买按量付费的主机然后一步步做性能测试,扛不住了再加,扛不住了再加。 |
2
yrebom OP @fiht 不好意思。。刚发完。才想到。。 如果只是静态资源的话没什么可别性。。 还是要考虑接口的 io。我的疑问是如果是 10w 并发。是不是数据库或者 redis 的连接数必须也应该等于这个并发数。。不然超过连接数的请求会响应失败。
|
3
whileFalse 2018-09-28 17:27:49 +08:00
楼主是不是想多了。一般能达到 10w 并发的公司,是不需要上论坛问的。
|
4
yrebom OP @whileFalse 恩。是呀。。 没经历过 10w 的并发。所以来这里看大佬们的经验,以及一些建议,大致考虑方向。
|
6
GoForce5500 2018-09-28 17:45:27 +08:00
@yrebom 肯定是按照一定比例的,数据库数百 TPS,Redis 数万 TPS(redis-benchmark 在 Docker 里 4C4G 随便跑 10W+),Nginx 跑几十 KB 的静态页面在笔记本上都能三万 TPS,打满带宽毫无压力,分级更新分散压力就行。
|
7
yrebom OP @WuwuGin 恩。是的。
@GoForce5500 没经验。多谢大佬指点。 这里带宽打满意思是:如果是 10M 带宽,接口响应数据为 100kb。是不是就是 102 个人把带宽打满了。?分级更新分散压力指的是数据库的还是负载均衡什么得。? |
8
blless 2018-09-28 18:02:34 +08:00 via Android
单机没得说,就看业务能不能拆,按我接触的业务来说大部分都能拆,前端用 dns 负载均衡 挂 10 个 ip 一台就 1w 了
|
9
blless 2018-09-28 18:06:52 +08:00 via Android
🌚没看到 python,这个肯定能拆了,pil 单核限制不拆 10w 不如求神仙。另外 python 接口响应速度量级一大协程线程切换效率都不理想,这个真的是语言限制了…
|
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 里面。 具体数据需要实测,毕竟业务不同,数据量不同,能缓存的比例不同,数据热点分布也不同。 |
14
aliipay 2018-10-12 17:23:48 +08:00
@whileFalse 我是觉得楼主的 leader 可能懂一点技术又不太懂才会提出这样的需求
|