并发解决一秒钟五十万的并发网站

2016-08-09 12:15:52 +08:00
 zeroJason
一秒钟五十万的并发网站,如何从服务器,缓存,数据库,前端进行优化?
纯粹的问题,求指教
25099 次点击
所在节点    程序员
104 条回复
cevincheung
2016-08-09 13:30:59 +08:00
po 主不妨留个邮箱,谁有方案可以跟你提。重赏之下必有勇夫。
sujin190
2016-08-09 13:32:19 +08:00
@zeroJason 看需求像是实时统计展示之类的,如果是这样的话 50w 个长连接推送更靠谱吧, 5 秒发 50 万推送还是很简单的,每秒处理 50 万请求就有点太不靠谱了,而且可以数据不变更不推送,这样推送次数明显变少了吧,再者如果数据是类线性变化的话,还可以客户端计时自己加,然后服务端没过一段时间推送正确值修正就可以了,这样推送量有变低了
grayon
2016-08-09 13:33:13 +08:00
前段加随机延时错峰,后端数据库用内存数据库,硬盘 IO 耗时高
用 C 写服务端 socket 处理 http 请求
soli
2016-08-09 13:34:32 +08:00
做成可横向扩展的,然后上 50 台机器抗。

任何偏工程性的技术问题都是钱的问题。
lecher
2016-08-09 13:36:42 +08:00
这种如果 50w 客户端的请求内容没有用户状态,不同用户请求同样参数的返回值一致,数据只有添加没有失效,客户端不提交更新数据,缓存可破。就走 cdn 的分发流程,直接多布几台机器分担负载。
zhchyu999
2016-08-09 13:40:56 +08:00
如果是拉取更新的数据,可以用推的方式,如果没有更新就不推,这样服务器负载就下来了
realpg
2016-08-09 13:41:37 +08:00
前些天做过一次类似的项目,不过我只出运维和生产环境架构设计
不过三五万预算,买个思路差不多,买全套实现有点太扯了
wander2008
2016-08-09 13:41:43 +08:00
@9hills 几百万招一个人…不是一群人。😄
wander2008
2016-08-09 13:44:38 +08:00
不知道 12306 有没有这样大的并发。在春节期间
wander2008
2016-08-09 13:45:17 +08:00
gfw 也可能有这么大的并发要求?
ranran
2016-08-09 13:47:04 +08:00
奇怪,你说只是帮别人提问,需求都转过来了,联系方式反而不转过来,几个意思?既然如此,我来转过来吧。联系方式没抹掉就在其中。

《并发处理-钱能解决不叫事_精易论坛》
http://bbs.125.la/thread-13925175-1-1.html

以下全部为原文内容:

1 ,公司网站是一个 秒访问量在 50W 你觉得我在吹牛 其实没有。情况属实。

公司困境 公司有 50W 个客户 (可以理解成一台电脑)每个电脑需要在 5 秒内 访问一次公司网站,公司页面不需要用户操作,任务由客户 Duan 每时每客在读
公司的一个页面 ,这个页面会获取数据库内容返回给客户 Duan 。

虽然在每 5 秒访问一个,可是如果 50W 个用户有几率在同时一秒访问 可能在 10W 左右 那么服务器数据库就瘫痪

2 ,程序员可部署 站群服务器 客户 Duan 这个难题,如果当您看到 请你帮帮我,公司每天都在亏钱,

3.本公司 为正规注册广告公司,业务不仔细详说,以上信息真实,不是吹牛没必要,

联系电话 18778338069 QQ : 67205899 1244067411

精易网站有几个帮过没能解决 在此表示感谢。


补充内容 (2016-8-9 10:42):
本人前期实验 1 号服务器装 网站 2 号服务器装数据库 1-2 号服务器内网 PHP 内容的连接数据库 读取数据库 写入数据库 PHP 没有任何处理

补充内容 (2016-8-9 10:43):
硬件 32G 8H 200M 2 号服务器在 2000 时基本 CPU 百分百 死掉的
SlipStupig
2016-08-09 13:56:10 +08:00
先去买一条专线,最少需要 50G 带宽,其它再说
ericls
2016-08-09 14:08:03 +08:00
我有办法实现
bigapple111
2016-08-09 14:16:37 +08:00
@sujin190 赞同,
1.从减少每次请求创建连接的资源消耗开始着手
2.优化任务处理模型,尽量不要占用 IO 的资源
3.系统内部分布式处理,网络接入层只负责保持用户连接,具体业务丢该下层服务处理
4.不死才有战斗力
bigpigeon
2016-08-09 14:20:20 +08:00
DNS 负载均衡->nginx 的 upstream->数据库读写分离->数据库集群->业务逻辑分离
可以按这个思路优化
goodryb
2016-08-09 14:31:46 +08:00
硬件方面,首先带宽得够,然后负载均衡得有,业务服务器部署多台,数据库前面加缓存,然后是 CDN 缓存大法
软件方面可以看看 54 楼的建议

参考原帖里面的建议,找个云服务商来解决这个问题。
ykrl089
2016-08-09 14:34:49 +08:00
@pi1ot 并发 50w hello world 都不是那么容易的
TangMonk
2016-08-09 14:37:46 +08:00
openresty 即可
zeroJason
2016-08-09 14:41:19 +08:00
发的太勤了。。被暂停回复了。。那人的企鹅 12440+67411 , 那个人的联系方式,应该是不懂部署负载均衡什么的,问题也应该没有我发的那么严重,原谅小菜鸟不是很懂这块乱提问。有大神愿意解决这个问题,可以去联系联系他,看着那人应该是非常着急了,只能帮到这了。
@ranran 没发联系方式,是觉得不礼貌,之后征求同意了想发,结果不能发了,感谢您帮忙发出来。

非常感谢各位大神的帮助。有愿意帮助他的,请联系他的 qq 。
weisdong
2016-08-09 14:42:23 +08:00
看到以上各位说的,我想起来一个段子:一滴水重的物体从 5000 米高空落下会对人造成什么伤害? 其实可以换个角度考虑下,这个老板的预算就 3-5 万,各位觉得会真有那么大并发? 我严重怀疑老板把并发的意思理解错了,真就应了那句话:认真你就输了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/298079

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX